2
#include <iostream>
#include <windows.h>

using namespace std;

int main()
{
    int y;
    cin>> y;

    if (y = 9);
    {
     cout<< "notgood";
     }


    cout<< "good";
    system("pause>nul");
    return 0;
}

我不能让它本身“好”。我需要else吗?如果我需要else,那是否意味着我需要重写系统暂停并返回0?我知道它的简单性,但有人可以帮我解决我必须做的事情。

4

5 回答 5

4

它应该是:

if (y == 9) {
  cout << "notgood";
 }         

=用于赋值,==用于比较。而;紧随其后的if是终止声明。

你需要加强你的基本语法,所以不是辅导服务。

于 2013-06-30T10:57:17.173 回答
2

在 C++ 中,运算符 = 是赋值,如果你想比较两个值,你必须使用 ==,所以 if 应该是if (y == 9),而且你不希望分号紧跟在 if 语句之后。

于 2013-06-30T10:57:16.547 回答
2

避免犯其他人已经指出的错误的好方法是,您可以交换两个操作数的位置,例如:

if (9 == y)...

这样,如果您不小心将运算符误认为是==运算=符,您将在尝试分配 no 非左值时得到错误。

于 2013-06-30T11:00:46.887 回答
1

你需要使用 ==(y == 9)

一个 = 表示赋值

于 2013-06-30T10:57:32.810 回答
1

你会得到两个书面的。试试这样:

#include <iostream>
#include <windows.h>

using namespace std;

int main() {
    int y;
    cin>> y;
    if (y == 9) {
        cout<< "notgood";
    } else {
        cout<< "good";
    }
    system("pause>nul");
    return 0;
}

不知道数字 9 做了什么被认为是“不好”...

如果您正在学习,请开始考虑为大括号放置、使用空格等开发一致的样式。这将使您的代码更易于阅读、理解和调试。随机性让你看起来很草率,你的代码更难理解。

于 2013-06-30T11:02:14.167 回答