写在前面:
刚开始学习C语言的时候,好多同学在写if条件语句时都会出现类似的问题.但是有的时候却不影响程序的正确运行,有时候却会与我们所料想的结果不一致,这究竟是什么原因呢?下面我们就一起探究探究吧.
一.巧合正确的例子
二.正好错误的例子
三. 以上两种情况究竟是什么原因呢?又该如何去写呢?
其实0 < x < 5这样的写法并没有错误,但是无意义.因为<的运算符顺序是从左至右,所以0 < x < 5被理解为(0 < x) < 5.那么首先x先和0进行比较,如果0<x成立则结果为1,否则结果为0.因此不管0<x是否成立,0或1都小于5,整式的结果都为真.
正确的写法:
当需要表示一个区间范围时可以使用逻辑与(&&)或逻辑或(||)进行串联.