2017-04-26 87 views
2
#include <stdio.h> 
int main() 
{ 
    int a = 10, b = 5, c = 3; 
    b != !a; 
    c = !!a; 
    printf("%d\t%d", b, c); 
} 

這是c代碼。我得到了輸出爲5 1。我無法得到b和c這個表達式的操作。任何人都可以解釋一下嗎?C編程!算術運算符操作

+4

'!='不是一項任務。 – dhke

+0

'!'是一個*邏輯*否定。 –

回答

2

這是一個技巧性問題。

b != !a;基本上是一個NOP。它只是評估爲1,但不會更改b的內容。你可以完全刪除這一行,你會得到相同的輸出。