c语言中a==b==c
时间: 2023-08-23 09:12:28 浏览: 223
A+B+C问题(C语言)
5星 · 资源好评率100%
在C语言中,表达式`a==b==c`是合法的,但它的判断逻辑可能与预期不符。这是因为C语言中的比较操作符`==`是从左到右结合的,即先比较`a`和`b`,然后将比较结果与`c`进行比较。
具体来说,表达式`a==b==c`会先计算`a==b`的结果,得到一个布尔值(0表示假,非0表示真),然后将这个布尔值与`c`进行比较。如果`c`是一个非零值,那么表达式的结果将始终为假(0),因为布尔值与非零值比较时会被隐式转换为整数。
要正确比较`a`、`b`和`c`的相等关系,应该使用逻辑运算符进行连接,例如`(a==b) && (b==c)`。这样可以确保先比较`a`和`b`的相等关系,再比较`b`和`c`的相等关系。如果两个比较都返回真,则整个表达式结果为真(非零值),否则为假(0)。
阅读全文