运算符“&&”不能应用于类型“int”和“bool”的操作数
本文关键字:amp bool 操作数 不能 运算符 应用于 类型 int | 更新日期: 2023-09-27 18:32:12
im 试图找出输入的数字是否可以被 9 和 13 整除,但它不会让我使用我需要的运算符,我知道变量类型是错误的,但我不知道如何使它被接受变量类型,我是编码新手,所以答案可以尽可能基本而不带小便
public bool IsFizzBuzz(int input)
{
if ((input % 9) && (input % 13) == 0)
{
return true;
}
else
{
return false;
}
}
由于==
运算符的优先级高于运算符&&
因此 if 语句首先计算;
(input % 13) == 0
部分,返回true
或false
取决于您的input
。你的 if 语句会像;
(input % 9) && true // or false
由于input % 9
表达式返回 int
,最后,您的 if 语句将是;
int && true
逻辑 AND 在 int
和bool
变量之间毫无意义。
从&&
运算符(C# 参考)
条件 AND 运算符 (&&) 执行其布尔值的逻辑 AND 操作数,但仅在必要时计算其第二个操作数。
你说;
我试图找出输入的数字是否既能被整除 9 和 13
然后你应该像这样使用它们;
if ((input % 9 == 0) && (input % 13 == 0))
您不能将两个括号中的语句与一个比较进行比较,您必须执行以下操作。
if( (input % 9 == 0) && (input % 13 == 0) )
这是因为&&
运算符的优先级高于==
运算符,因此语句的计算方式如下:
if (((input % 9) && (input % 13)) == 0)
不是这样的:
if ((input % 9) && ((input % 13) == 0))