我已经阅读了有关stackoverflow的几乎所有问题
但结果尚无定论。
请解释一下,明天我会接受采访。
int a, x = 0;
// value of x ------> a(sum)
//gcc 4.9.9.2[dev cpp] 2 1 2 4 5 14
//acc to my calculation 2 0 2 4 5 13
//geeksforgeeks compiler 5 5 5 5 5 15
//gcc 6.3 [codechef ide] 5 5 5 5 5 15
a = ((((++x + x++) + ++x) + ++x) + ++x);
printf("%d....%d", x, a);
return 0;
如果我犯了错误,请帮我纠正。 感谢
答案 0 :(得分:2)
没有序列点,因此您的代码会调用 Undefined Behavior 。
括号不会引入序列点,因此,尽管您使用它们,但仍然会调用UB。