回 帖 发 新 帖 刷新版面

主题:在VC6.0环境下,i=3,y=(i++)+(i++)+(i++),y的值为什么是9而不是12

在VC6.0环境下,i=3,y=(i++)+(i++)+(i++),y的值为什么是9而不是12,i的值却变为6,运算的过程是怎样的?

回复列表 (共5个回复)

沙发

i=3,y=(i++)+(i++)+(i++)
i++是先用i,在i+1;故y=3+3+3=9;又(i++)=4,而(i++)+(i++)+(i++)相当于(i++)=4自增两次。

板凳

i的值不是从左自右变化吗?为什么

3 楼

因为有()号,优先运行啊

4 楼

一个表达式
大多数c++系统把3作为表达式中所有i的值,这样得9.
每一次i++又始i+1 共加了3次 就变6了。。

5 楼


能不萌么,3+4+5,觉得你这个装有点明显啊

我来回复

您尚未登录,请登录后再回复。点此登录或注册