c語言與表示式!(x=0?使用者39776712469982020-03-12 02:19:58

!X==0,!的優先順序高,所以相當於(!x)==0。

題目沒說x是什麼型別,暫且當成整型吧。

c的邏輯運算中,把0當做false,非0當做true。表示式進一步解釋為(!x)==false。

於是(!x)的結果就是,如果x是0,則 !x 是true;否則 !x 是false。

所以,如果x是0,(!x)==false的結果是false;否則是true。

然後只要看下面哪個跟這個邏輯的運算結果是一樣的就行了。

——-

x==1,只有x是1的時候結果為true,其他情況都是false。跟上面的邏輯不一樣了。

x,上面也說了,整型轉邏輯運算時,0是false,非零是true,所以x的邏輯運算結果跟 (!x)==0等價。

x!=0,x為0的時候是false,非零是true。邏輯上等價。

x>0 || x0也不滿足x