在一个语句中输出多个post和pre增量
我是新来的C语言,所以plz sum1帮助我。 AC代码写入
int i=3; printf("%d",++i + ++i);
Complier gvs O / P = 9。 怎么样?
提前感谢
结果是不确定的。 您在expression式中多次修改variables(或者序列点更准确)。
在序列点之间多次修改一个variables是未定义的,所以不要这样做。
这可能是你的编译器,因为这个特定的情况下,决定将++i + ++i
作为
- 增加最后的
++i
,产生4,让我成为4 - 增加第一个
++i
,产生5,让我成为5(因为前面的步骤离开我4,递增到5) - 总结两个值,4 + 5。
另一个编译器,或者如果您改变优化级别,或者稍微更改代码,可能会产生不同的输出。