我有以下代码:

#include <iostream>
using namespace std;
int main()
{
    char fg;
    cin>>fg;
    char x[20];
    x[0]='0';
    if(fg=x[0])
    {
        cout<<"It's true!"<<endl;
        return true;

    }
    cout<<"It's false!"<<endl;
    return false;
}

无论我给出什么输入,true总是返回。我的语法关闭了吗?任何帮助,将不胜感激。

最佳答案

在C++中,您使用==进行比较。 =是一个分配。可以在if语句的条件下使用它,但是除非字符是true(而不是'\0',这取决于您的情况),否则它将求值为'0':

if(fg == x[0])
{
    ...
}

10-08 11:28