操作符& # 39;,,& # 39;不能应用于'bool'和& # 39;int # 39;

本文关键字:int bool 操作符 应用于 不能 | 更新日期: 2023-09-27 18:16:19

我有一个if elseif语句来检查标记并根据条件对标记进行评分。

int marks;
string grade;
if (marks>=80 && marks!>100)
{
  grade = "A1";
}
else if (marks>=70 && marks!>79)
{
  grade = "A2";
}

等.....

然而,当我编译它时,我得到

操作符'&&'不能应用于'bool'和'int'类型的操作数

帮我修理一下。

操作符& # 39;,,& # 39;不能应用于'bool'和& # 39;int # 39;

这不是一个真正的运算符:

!>

不大于等于<=(小于等于)

编辑:你想说的其实也可以用!操作符。但是它应该是
!(marks > 100 )

其他答案表明,主要问题是!>不是操作符。

我想建议,因为你正在测试marks是否在特定范围内,你采取额外的步骤来格式化你的条件表达式,使用以下模式:

if (80 <= marks && marks <= 100)
{
  grade = "A1";
}
else if (70 <= marks && marks <= 79)
{
  grade = "A2";
}

这是一个简单而微妙的变化,但我认为它使范围检查的意图更加明确。

您使用了错误的运算符,

一定是。

int marks;
string grade;
if (marks>=80 && marks<=100)
{
  grade = "A1";
}
elseif (marks>=70 && marks<=79)
{
  grade = "A2";
}

你也可以做

int marks;
string grade;
if (marks>=80 && !(marks>100))
{
  grade = "A1";
}
elseif (marks>=70 && !(marks>79))
{
  grade = "A2";
}
int marks;
string grade;
if ((marks>=80) && !(marks > 100))
{
grade = "A1";
}
else if ((marks>=70) && !(marks > 79))
{
grade = "A2";
}