主题:在VC6.0环境下,i=3,y=(i++)+(i++)+(i++),y的值为什么是9而不是12
Long_9234
[专家分:0] 发布于 2012-07-12 10:30:00
在VC6.0环境下,i=3,y=(i++)+(i++)+(i++),y的值为什么是9而不是12,i的值却变为6,运算的过程是怎样的?
回复列表 (共5个回复)
沙发
ZBC19921123 [专家分:320] 发布于 2012-07-12 20:44:00
i=3,y=(i++)+(i++)+(i++)
i++是先用i,在i+1;故y=3+3+3=9;又(i++)=4,而(i++)+(i++)+(i++)相当于(i++)=4自增两次。
板凳
Long_9234 [专家分:0] 发布于 2012-07-13 08:39:00
i的值不是从左自右变化吗?为什么
3 楼
fu313235770 [专家分:0] 发布于 2012-07-13 11:01:00
因为有()号,优先运行啊
4 楼
kirstyfeng [专家分:0] 发布于 2012-07-17 21:49:00
一个表达式
大多数c++系统把3作为表达式中所有i的值,这样得9.
每一次i++又始i+1 共加了3次 就变6了。。
5 楼
神之心魔 [专家分:0] 发布于 2012-07-18 09:28:00
能不萌么,3+4+5,觉得你这个装有点明显啊
我来回复