如何在函数参数中评估后递增和预递增?
可能重复:
c中的后期和前期增量
未定义的行为和序列点
在这里我想知道为什么这个输出来了? 任何人都可以以适当的方式解释我
#include int main() { int a=5; printf("%d %d %d",a++,a++,++a); return 0; }
这个程序的输出就像
在LINUX 7 6 8中
它是未定义的 – 副作用只能保证在序列点完成。
我们做不到。 这完全依赖于编译器,依赖于参数的计算顺序。
可能重复:
c中的后期和前期增量
未定义的行为和序列点
在这里我想知道为什么这个输出来了? 任何人都可以以适当的方式解释我
#include int main() { int a=5; printf("%d %d %d",a++,a++,++a); return 0; }
这个程序的输出就像
在LINUX 7 6 8中
它是未定义的 – 副作用只能保证在序列点完成。
我们做不到。 这完全依赖于编译器,依赖于参数的计算顺序。