下列程序的输出结果是( )
#include <stdio.h>
void main()
{ int a = 2, b = 3, c = 0, d;
d = !a && !b ||!c;
printf(“%d\n”, d);
}
选择一个答案
a. 1
b. 0
c. 编译出错
d. -1
我以前理解的是a = 2, b = 3, c = 0 , 所以计算!a为真 1,!b为真 1,!c为假 0.. 然后 1&& 1 || 0 = 1
追答在C/C++里,0代表假,非0代表真,a,b都是真,c是假,都取非之后(!),a,b都是假,c是真。
也就是0&&0||1,并非1&&1||0。