可能重复:
Could anyone explain these undefined behaviors (i = i++ + ++i , i = i++, etc…)
考虑,遵循C
中的2个编码行int a=0;
printf("%d%d%d%d",++a,a+1,a++,++a);
在visual C ++中,它给出了
输出:3431
但是在Turbo C ++中 给出:
输出:3311
这也是编译器依赖的吗?
答案 0 :(得分:2)
C规范没有指定将评估函数参数的顺序,因此无法保证您将获得什么输出。