pre/post increment decrements 单行求值
pre/post increment decrements evaluation in single line
你能解释一下吗?
Whosebug上几乎所有的问题我都看了
- 未定义的行为
- pre/post inc..dec.. 运算符precedence/associativity
- 使用括号
但结果尚无定论。
请解释一下,我明天要面试
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;
如果我有错误请帮我改正。
谢谢
没有序列点,因此您的代码调用了未定义的行为。
括号不引入序列点,因此,尽管您使用它们,您仍然调用 UB。
你能解释一下吗?
Whosebug上几乎所有的问题我都看了
- 未定义的行为
- pre/post inc..dec.. 运算符precedence/associativity
- 使用括号
但结果尚无定论。
请解释一下,我明天要面试
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;
如果我有错误请帮我改正。 谢谢
没有序列点,因此您的代码调用了未定义的行为。
括号不引入序列点,因此,尽管您使用它们,您仍然调用 UB。