在c语言中,month==1||3||5||7||8||10+为什么不能这样写?
时间: 2023-11-06 08:06:48 浏览: 107
C语言实现按月显示的日历
在语言中,month==1||3||5||7||8||10+这样的写法是错误的。这是因为C语言中的逻辑运算符||(或)的优先级低于比较运算符==(等于),所以这个表达式会被解释为(month==1) || 3 || 5 || 7 || 8 || (10+),其中3、5、7、8都被视为非零值,所以整个表达式的结果总是为真。这显然不是我们想要的结果。
正确的写法应该是将每个比较运算符括起来,如下所示:
(month==1) || (month==3) || (month==5) || (month==7) || (month==8) || (month==10)
这样就可以正确地判断月份是否为1、3、5、7、8或10了。
阅读全文