为了账号安全,请及时绑定邮箱和手机立即绑定

不明白是怎么算的,为什么是100而不是101

#include <stdio.h>

int main()

{

    int x = 100;

    printf("x=%d\n",x++);

    return 0;

}

不明白这个为什么是100而不是101,x++先取值是100,然后再自加,不是应该是101吗,是我哪里理解错了?求解


正在回答

3 回答

确实是101,不过显示出来的是100,因为取值是100,还有1个相当于隐形的,在心里,所以,在下面第二排再次加1时,就变成102,而第三排减1,因为是先减再取值,所以是101 ,而第四,先取值再减,所以显示的是101,但是其实应该是100了。

3 回复 有任何疑惑可以回复我~

执行printf的时候,x取值100。printf方法执行完毕,x才自加。

2 回复 有任何疑惑可以回复我~

x++运算优先级是:程序先按照原先数值(100)运行,该次运行完成后 自+1,故在执行完printf("x = %d \n,x++")之后 x的数值才等于101,打印过程仍旧为100.

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

不明白是怎么算的,为什么是100而不是101

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信