【发布时间】:2017-02-06 15:05:29
【问题描述】:
int j=4;
(!j!=1)?printf("Welcome"):printf("Bye");
根据我的说法,在上面的代码段中,首先 j!=1 将导致 true 并且 !true 是 false 这必须导致打印 Bye 但我得到 Welcome 作为输出。
谁能解释一下这个?
【问题讨论】:
-
看看operator precedence table自己回答吧。
-
为了清楚起见,显然应该写成
j??!!j!=1? printf("Welcome"):printf("Bye");。 -
如果您将其中一个答案标记为答案,那就太好了...
标签: c conditional logical-operators