慕后端33525816
2018-03-03 21:07
#include <stdio.h>
int main()
{
int x = 100;
printf("x=%d\n",x++);
return 0;
}
不明白这个为什么是100而不是101,x++先取值是100,然后再自加,不是应该是101吗,是我哪里理解错了?求解
确实是101,不过显示出来的是100,因为取值是100,还有1个相当于隐形的,在心里,所以,在下面第二排再次加1时,就变成102,而第三排减1,因为是先减再取值,所以是101 ,而第四,先取值再减,所以显示的是101,但是其实应该是100了。
执行printf的时候,x取值100。printf方法执行完毕,x才自加。
x++运算优先级是:程序先按照原先数值(100)运行,该次运行完成后 自+1,故在执行完printf("x = %d \n,x++")之后 x的数值才等于101,打印过程仍旧为100.
C语言入门
926020 学习 · 20793 问题
相似问题