.在 C 程序中,用(B)表示逻辑值“真”。 A、1B、非 0 的数C、非 1 的数 D、 大于 0 的数

A为什么错了?能解释一下吗?

我可以给你实力分析一下。。。

C语言里面,0表示假,非0都表示真 所以首先B就是最正确的答案。
其实A在逻辑上也不错,但A和B放在一起,又是单选题的话,为什么不选B呢?

至于非要说A为什么错了,我也能强行解释,如下:
考虑这句话:
在 C 程序中,用(1)表示逻辑值“真”。
乍一读,是不是感觉有点问题,仿佛用(2)就不能表示真了一样。
问题出在哪呢?
原因在于,(1)只是“真”的充分条件,而不是必要条件
而题干中的谓语 “表示” 一词,有那么点“等价于”的意味 所以此处最好选择一个充要条件

PS:不要跟我说 true也可以表示真,但它就不是 数
C源代码中 true 是 被define 为1了 所以还是1
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-12-18
在 C 程序中,只要不是0,判断时都把它作为“真”。所以选答案B。
所以,if(x!=0)....
完全等价于if(x)....
相似回答