今天我想分享一下关于c语言中零表示假,非零表示真的问题。这里我用的是vs2022来进行演示。如图1
![C语言[关于零表示假,非零表示真] C语言[关于零表示假,非零表示真]](http://img.555519.xyz/uploads/20230217/bd272de5f006deeccf9ff6f594bf6b87.jpg)
因为if里a = 0表示假,所以if不执行,继续往下判断else if,此时a = 5,表示真,便开始执行,输出 你好世界。运行结果如图2:
![C语言[关于零表示假,非零表示真] C语言[关于零表示假,非零表示真]](http://img.555519.xyz/uploads/20230217/2463cf79bb4921ed258cad76d6ef2490.jpg)
看图3![C语言[关于零表示假,非零表示真] C语言[关于零表示假,非零表示真]](http://img.555519.xyz/uploads/20230217/61e691fd2f9a10bf40e8c248dec2ff9b.jpg)
在这里,a = -2同样也表示真,所以会执行if中的 HelloWorld,执行后,else if 便不再进行。
运行结果如图4
![C语言[关于零表示假,非零表示真] C语言[关于零表示假,非零表示真]](http://img.555519.xyz/uploads/20230217/64e327afc62886d5f5f5a49715991464.jpg)
所以在此我纠正一些同学的错误看法,认为只有1表示真。
这种说法是错误的,应该说只要是非零的数都表示真。
只是通常人们会用1来表示真。
正文完