什么意思是指C ++中的“预期声明”[关闭]

问题描述 投票:0回答:1

我在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中的两个语句都打印出来为什么?

c++
1个回答
4
投票

问题在于此处

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";
}
© www.soinside.com 2019 - 2024. All rights reserved.