二元运算符“<=”不能应用于Bool和Int类型的操作数

二元运算符“<=”不能应用于Bool和Int类型的操作数

问题描述:

if 1 <= A[i] <= 100 || 1 <= B[i] <= 100 

对于上面的行我得到这两个错误。 1.相邻运算符处于非关联优先级组“比较优先级” 2.二元运算符“< =”不能应用于类型BOOLInt二元运算符“<=”不能应用于Bool和Int类型的操作数

+0

您需要使用范围模式运算符'1 ... 100〜= a [i]' –

尝试if (1 <= A[i] && A[i] <= 100) || (1 <= B[i] && B[i] <= 100)

乔的回答和Leo的评论既会工作。我的意愿是狮子座的方法(使用1...100 ~= A[i]),但不管漂浮在你的船上。

这就是说,让我解释一下你为什么会给你一个错误。没有任何括号将其分解,它会评估从左到右。所以如果第一次检查“是1 < = A [i]?”,并且这导致布尔答案。然后它试图询问“是真的< = 100?”,这是没有意义的。