為什麼這個c語言程序輸出結果不對(本來求的是兩者之間較大值,結果輸出的是較小值)?
#include&
int max(int a,int b);
int main()
{
int x,y,z;
int max(int a,int b);
printf("input two numbers:
");scanf("%d%d",x,y);
z=max(x,y);
printf("maxmum=%d",z);
}
int max(int a,int b)
{
if(a&>b){
return a;
}else{
return b;
}
return 0;
}
將a和b printf出來看跟你輸入是否相同
#include &
int max(int a, int b);
int main()
{
int x, y, z;
int max(int a, int b);
printf("input two numbers:
");
scanf("%d%d", x, y);
z = max(x, y);
printf("maxmum=%d", z);
}
int max(int a, int b)
{
if (a &> b)
{
return a;
}
else
{
return b;
}
return 0;
}
結果,沒啥問題 不知道你是咋整的
PS C:UsersAdministrator&> cd "c:UsersAdministratorDesktop" ; if ($?) { gcc 1.c -o 1 } ; if ($?) { .1 }
input two numbers:
1 2
maxmum=2
PS C:UsersAdministratorDesktop&> cd "c:UsersAdministratorDesktop" ; if ($?) { gcc 1.c -o 1 } ; if ($?) { .1 }
input two numbers:
2 4
maxmum=4
你這個代碼的main函數的第二行似乎是個函數的聲明,但是你在前面已經聲明了,而且函數聲明也不能放這裡,所以這行代碼應該刪掉。
這樣寫。
int x,y;
......
x= x&>y?x:y;
......
這是什麼神仙風格的代碼……
我尋思沒見過哪本教材是這麼個寫法的。你是看的哪本教材?
濃濃的一股譚浩強的味道
掩鼻幫你看了一下不存在你說的「本來求的是兩者之間較大值,結果輸出的是較小值」的情況,貼一下你運行的截圖看看推薦閱讀: