我在Visual Studio中输入了一个if else代码,但是它显示了Else和Else的声明
我的代码是
#include <iostream>
using namespace std;
int main()
{
float marks, result;
cout << "Enter your Marks:";
cin >> marks;
if(marks>=50 && marks <= 100);
{
cout << "Passed";
}
else if (marks < 50 && marks>=0);
{
cout << "The grade is F ";
}
else
{
cout << "Enter marks correctly";
}
}
output is
Enter your marks:97
passedenter marks correctly
if和in中的两个语句都打印出来为什么?
问题在于此处
if(marks>=50 && marks <= 100);
你有那个不应该在那里的;
。因此,;
是if
声明的主体。这意味着“什么都不做”。结果,如下
{
cout << "Passed";
}
...与if
声明无关,将始终执行。之后是这样的:
else if (marks < 50 && marks>=0);
同样的问题在这里,但else
无法编译,因为它之前没有if
。请记住,else
之前的区块错误地不属于if
。相反,你想要的是这个:
if(marks>=50 && marks <= 100)
{
cout << "Passed";
}
else if (marks < 50 && marks>=0)
{
cout << "The grade is F ";
}
else
{
cout << "Enter marks correctly";
}