输出结果为4
因为x--是先调用后自减.调用的时候x只不变,也就是说x--<5为假,所以不执行printf("%d", x); 而是执行else printf("%d", x++);但是前一次调用后x自减一次变为4,在第二次调用的时候x值仍为4,所以输出的x值为4,但是执行了else printf("%d", x++);之后x 的值就变为5了
输出结果为:4
在if语句后,x被自减为4,在执行else后的printf时,x仍然为4,在这句之后才加为5。这是x++和++x的区别。
4
第3行 将5赋给x
第4行 由于x=5,所以不成立,但此行之后,由于x--,x=4
第5行 输出x,x为4,但此行之后,由于x++,x=5
输出结果为4
输出结果为:4
在if语句后,x被自减为4,在执行else后的printf时,x仍然为4,在这句之后才加为5。这是x++和++x的区别。
这道题这样改就清楚了:
main()
{
int x;
scanf("%d",&x);
x--;//独立的拿出来,所以先进行x--,然后x为4。
if(x<5) printf("%d", x);
else printf("%d", x++);
}