int a=3,b=4,c=5,d=2; if(a>b) if(b>c) printf("%d",d+++1); else printf("%d",++d+1); printf("%d\n",d);

这是C语言题,我想知道结果的原因,先谢谢了哈

int a=3,b=4,c=5,d=2; if(a>b) 如果a>b才执行下面的 不大于就不执行
if(b>c) printf("%d",d+++1); else printf("%d",++d+1); 这两句if-else不执行
printf("%d\n",d);输出2追问

恩,是这样,我在vc++ 6.0 上试,把a的值改成5,结果竟然有两个,why?

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-07-25
运行结果:
4
3