c++中的i++与++i

来源:百度知道 编辑:UC知道 时间:2024/06/25 21:03:01
x的值是1,执行完语句:x+=(x++)+(++x)后,x的值是多少?怎样算,请分解一下,谢谢!

谁在前先执行谁,x+=(x++)+(++x),执行第一步:x+=(1)+(++x),这时x = 2,然后 x+=(1)+(3)这时候x = 3,最后执行结果是x = 7.

值为5
x= x +(x++)+(++x);

X 最后的值是7

首先:+=的运算级别抵御+, 所以先是后面的+运算。

X++ 会先取值 1 ,然后下次运算前自加。所以倒了 ++X的时候,这个X身已经是2了。 然而前面有个++,X会先自增后再参加运算。所以是3.

所以运算的数字就是 3 += 1 + 3

结果X为 7。

他们都说了,补充一点,各语言不同,结果不同

结果是7
这个语句可以分解为:
++x; 这一步使x变成了2
x+=x+x; 这一步利用上一步的值使x最后的结果等于6
x++; 这一步是x再加1
最后的结果就是7了!

以后你见到了++在前就分解到这个语句前面一个++x什么的
以后你见到了++在后就分解到这个语句前面一个x++什么的
具体的如上例就是了!

结果为:7;
我做过如下试验,改为x+=(x++),结果为3,解析为,先计算+=右边,x先使用后自加,变为,x+=1,计算x=x+1时,x此时等于2,结果为x=2+1;
同样的道理:先计算+=右边,x初始值为1,(x++)值为1,(++x)值为3,计算x+=1+3时,x的取值为(++x)的值3,结果为:x=3+1+3;