C++ 如何简单地比较C++;?

C++ 如何简单地比较C++;?,c++,char,equals-operator,C++,Char,Equals Operator,我有以下代码: #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 fa

我有以下代码:

#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;
}
#包括
使用名称空间std;
int main()
{
焦fg;
cin>>fg;
charx[20];
x[0]='0';
如果(fg=x[0])
{

C++中的CUT< P>使用<代码> ==/COD>比较。<代码>=/COD>是一个赋值。它可以在<代码>条件下使用< < /Cord>语句,但它将被评估为<代码>真< /COD>除非字符是“代码>”0’< /代码>(不是<代码> '0' <代码>,如您所说的那样):


在if语句中使用
==
。例如:

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

=
比较,但是
=
使
fg
等于
x[0]
,这就是为什么每次都是这样。

啊,我有这个错误的次数。在if中尝试==而不是=。只要x[0]计算结果为true,简单赋值将为true。您是否尝试过调试?@CaptainMurphy,通过计算结果为true,您的意思是计算结果不是0。我添加了第二个=,但现在即使输入0,它也会返回false。感谢所有人迄今为止的帮助。@DmitriyPotemkin堆栈溢出允许您删除不再适用的注释。指向e注释,然后单击它旁边的小十字。
if (fg == x[0]) {
    //...........   
}