二元运算符“<=”不能应用于Bool和Int类型的操作数
问题描述:
if 1 <= A[i] <= 100 || 1 <= B[i] <= 100
对于上面的行我得到这两个错误。 1.相邻运算符处于非关联优先级组“比较优先级” 2.二元运算符“< =”不能应用于类型BOOL
和Int
。二元运算符“<=”不能应用于Bool和Int类型的操作数
答
尝试if (1 <= A[i] && A[i] <= 100) || (1 <= B[i] && B[i] <= 100)
答
乔的回答和Leo的评论既会工作。我的意愿是狮子座的方法(使用1...100 ~= A[i]
),但不管漂浮在你的船上。
这就是说,让我解释一下你为什么会给你一个错误。没有任何括号将其分解,它会评估从左到右。所以如果第一次检查“是1 < = A [i]?”,并且这导致布尔答案。然后它试图询问“是真的< = 100?”,这是没有意义的。
您需要使用范围模式运算符'1 ... 100〜= a [i]' –