值始终设置为1,即使输入为0

时间:2020-11-06 15:41:03

标签: c++

好的,所以我用C ++编写了这段小代码。请记住,我刚开始学习c ++,所以这个问题让我很困惑 当我在代码块中运行此代码时(


using namespace std;

int Answer;
int main()
{
cout << "yo, are u male?"<< endl;

cin >>Answer;

if (Answer = 1){
    cout << "ur male"<< endl;
} else {
    cout <<"ur female"<< endl;
    }

cout <<Answer;
}
)

即使我输入0,答案值也始终设置为1 我尝试为答案值编码另一个if语句,如果它为0,但是那也不起作用

2 个答案:

答案 0 :(得分:1)

在C ++中,=运算符是赋值运算符,它将左操作数的值设置为右操作数的值。因此,Answer使1的值变为Answer = 1

您应该使用==运算符检查是否相等。

答案 1 :(得分:0)

在代码中使用==运算符,就像=运算符执行分配值的工作一样。


using namespace std;

int Answer;
int main()
{
cout << "yo, are u male?"<< endl;

cin >>Answer;

if (Answer == 1){
    cout << "ur male"<< endl;
} else {
    cout <<"ur female"<< endl;
    }

cout <<Answer;
}
)