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编程!算术运算符操作
#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编程!算术运算符操作
这是一个技巧性问题。
b != !a;
基本上是一个NOP。它只是评估为1
,但不会更改b
的内容。你可以完全删除这一行,你会得到相同的输出。
'!='不是一项任务。 – dhke
'!'是一个*逻辑*否定。 –