我不知道是否有人能够友好地为我解释这段代码?
当我在我的电脑上使用gcc 4.2编译时,输出结果为2。
原本我以为这种行为是未指定的,但是我发现"||"运算符的优先级比其他运算符低,所以答案不应该是3吗?因为有三个"++"。
有人能解释一下吗?谢谢。
unsigned int x = 0;
(x ^= x ) || x++ || ++x || x++;
printf("%d\n", x);
当我在我的电脑上使用gcc 4.2编译时,输出结果为2。
原本我以为这种行为是未指定的,但是我发现"||"运算符的优先级比其他运算符低,所以答案不应该是3吗?因为有三个"++"。
有人能解释一下吗?谢谢。
||
的优先级,而在于它是一个序列点。 - Flexo