c語言與表示式!(x=0?
使用者3977671246998 發表于 遊戲2022-10-15
!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