Как мне просто сравнить символы в C++?

У меня есть следующий код:

#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 всегда возвращается. Мой синтаксис выключен? Любая помощь будет оценена.

2 ответа

В C++ вы используете == для сравнения. = это назначение. Может использоваться в состоянии if заявление, но это будет оценивать true если персонаж '\0' (не '0'как в твоем случае)

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

Внутри оператора if ==, Например:

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

== сравнивает, но = марки fg равно x[0]и именно поэтому вы становитесь правдой каждый раз.

Другие вопросы по тегам