main(){int a,b,c,d;scanf("%d,%d,%d",&a,&b,&c);d=max(a,b);if(d>c>;printf("%d \n",&d);elseprintf("%d \n",&c);}int max(int x,int y){if(x>y);return(x);elsereturn(y);}error: 6: expression syntax in function mainerror 8: misplaced else in function mainerror 15:misplaced else in function maxwarning 16: unreachable code in function max希望您能給出份詳細的答案 并告訴我哪里 錯在哪了 為什么。 謝謝!
2 回答

largeQ
TA貢獻2039條經驗 獲得超8個贊
是手誤吧,scanf才傳變量的地址(加取地址符&),printf打印變量值不需要取地址符
int max(int x,int y)
{
if(x>y)
return x;
else
return y;
}
main()
{
int a,b,c,d;
scanf("%d,%d,%d",&a,&b,&c);
d=max(a,b);
if(d>c)
printf("%d \n",d);//打印變量d的值,&d就是打印地址值了
else
printf("%d \n",c);
system("pause");
}

繁花不似錦
TA貢獻1851條經驗 獲得超4個贊
int max(int x,int y)///要調用就要先聲明,所以要寫在上面
{
if(x>y);
return x; ///返回的是數,不要加括號
else
return y;
}
main()
{
int a,b,c,d;
scanf("%d,%d,%d",&a,&b,&c);
d=max(a,b);
if(d>c) ////這里你打錯了,if后面不用加 ;號的
printf("%d \n",&d); ///這里我忘了,可能是對的,如果還不對,你反&符號去掉
else
printf("%d \n",&c);
}
添加回答
舉報
0/150
提交
取消