在一个语句中输出多个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。

另一个编译器,或者如果您改变优化级别,或者稍微更改代码,可能会产生不同的输出。