后增量如何?在函数参数中评估pre-increment两者?

时间:2011-10-24 10:41:45

标签: c operators

  

可能重复:
  post and pre increment in c
  Undefined Behavior and Sequence Points

这里我想知道为什么这个输出来了? 任何人都可以以适当的方式解释我所有人

#include<stdio.h>
   int main() {
   int a=5;
   printf("%d %d %d",a++,a++,++a);
   return 0;
   } 

这个程序的输出就像

在LINUX中  7 6 8

2 个答案:

答案 0 :(得分:4)

未定义 - 副作用仅保证在sequence points完成。

答案 1 :(得分:1)

我们做不到。这完全取决于编译器依赖于参数的评估顺序。