2017-04-26 85 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的内容。你可以完全删除这一行,你会得到相同的输出。