在c语言中,0表示假,非0表示真,为什么?

如题所述

在C语言中,0代表假,非0代表真的原因是历史原因。
早期计算机中没有内置布尔类型,而是用整数值0表示假,1表示真。现在,许多编程语言仍然保留这种做法。
另外,在C语言中也有专门的bool类型,可以用true和false表示真和假,但是C语言通常使用0表示假,非0表示真,是为了兼容早期的程序。
♡♡ 有帮助到的话,麻烦采纳哦!♡♡
温馨提示:答案为网友推荐,仅供参考
第1个回答  2023-11-03
我可以给你实力分析一下。。。

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

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

PS:不要跟我说 true也可以表示真,但它就不是 数
C源代码中 true 是 被define 为1了 所以还是1
相似回答