以下程序片段
int k=-7;
printf("%d",0<!k);
会根据答案打印0。
谁能解释一下为什么?
最佳答案
这就是您要打印的内容:
0 < !(-7)
首先,!(-7) 将给出 0,因为 -7 是一个“真”整数,即它是非零,并且 !
对它求反,所以整个结果是“假” “即0。
那么你有:
0 < 0
这当然是假的,即 C 中的 0。您将其打印为整数,所以您当然会看到 0
。
关于c - 该给定 C 程序的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26652365/