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

6

Решение

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

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

Другие решения

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

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

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

1

По вопросам рекламы [email protected]