1   1  /  1  页   跳转

高手请进

高手请进

#include<stdio.h>
int f(int a, int b)
{
int c;
if(a>b)  c=1;
else if(a==b)  c=0;
else c=-1;
return(c);
}
main()
{
int i=2,p;
p=f(i,i++);   
printf("%d",p);
return p;
}
这段程序执行的为什么是1.而不是0?请高手帮忙
最后编辑2005-07-08 23:37:27
分享到:
gototop
 

p=f(i,i++);
关键就在这句上面,()的运算优先级要比++高,也就是说++是在函数返回C的值后再进行运算的,这样的话,最后答案当然是0咯
还有你那个return p;写在那里做什么?你想把P的值返回到哪里去??
gototop
 

哦,谢谢
gototop
 


mina 里最后的return p;
我猜一定是return 0;错打成p了;
直接return;就行了
gototop
 
1   1  /  1  页   跳转
页面顶部
Powered by Discuz!NT