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

为什么这两个要换一下位置

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

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

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

后面的x++为什么要在之前的位置颠倒一下


正在回答

5 回答

#include <stdio.h>
int main()
{    
    int x = 0;    
    printf("x=%d\n",x++);    
    printf("x=%d\n",++x);    
    return 0;
}

运行结果:

x=0
x=2

用这个代码来解释,x++表示先取值再运算,所以它一开始输出的结果是0,之后+1,++x表示先运算再取值所以+1,最后结果是2.


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

x++是下个才得出答案,++x是直接得出答案。

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

http://img1.sycdn.imooc.com//5e11e54b0001153f11780823.jpg运算是有关联的

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

有点懵?

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

x=0是已知条件对吧,x++输出的还是0,但实际上x已经加了1变为了1.而后++x先加1而后输出,因为x已经变为了1,所以最后输出的结果为2.

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

沙福林_0

自增运算还会影响后面的x数值啊。。。。?
2019-12-19 回复 有任何疑惑可以回复我~
#2

慕姐6281321 回复 沙福林_0

是啊我也想知道
2020-01-07 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么这两个要换一下位置

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