5. 下面程序运行结果是 。

#include <stdio.h>
main()
{ int x=5;
if(x++>5)printf(“x=%d\n”, x);
else printf(“x=%d\n”, ++x);
}
详解

这个应该好理解啊,

首先注意x++和++x的区别,x++是本次先用其原值,用完后马上自加1。++x是先自加1,再用它自加后的值。

另外要明白,编译器肯定执行了"if(x++>5)"这一句,此时x=5,但判断后为假,所以if后面printf语句是不执行的,判断后为假后,还干了一件事,那就是x++(因为本身if语句是执行了的),此时x=6.

刚才if判断是假,肯定会执行else语句,++x指的是先要对变量x进行自加1,然后才会printf。

因此,最终结果是x=7

悉知!
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-06-27
x=7
第2个回答  2010-06-27
6;
7
第3个回答  2010-06-27
x=7
第4个回答  2010-06-27
x++先运行在加一
所以符合else输出结果为7
相似回答