У меня есть следующий код:
#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])
{
...
}
Внутри оператора if ==
, Например:
if (fg == x[0]) {
//...........
}
==
сравнивает, но =
марки fg
равно x[0]
и именно поэтому вы становитесь правдой каждый раз.