问题 单项选择题

以下程序的输出结果是 main() { int a=4,b=5,c=0,d;d=!a&&! b||! c;printf(“%d\n”,d; }

A.1

B.0

C.非0的数

D.-1

答案

参考答案:A

解析:由于单目运算符优先级高于“&&”和“||”运算,所以先计算!a、!b和!c分别为“假”、“假”、“真”,然后是&&运算和“||”运算,原表达式就等价于“假”&&“假”||“真”又由于“&&”的优先级高于“||”运算符,所以先计算“假”&&“假”,还是为假,最后是“假”||“真” 为真。因此最后d被赋值为1,故最后输出为1。

多项选择题
问答题 简答题