线x=是什么!你的意思是

What does the line x=!y mean

本文关键字:意思是 是什么      更新时间:2023-10-16

这是代码的一部分

int main()
{
    int x=5,y=10;
    if(x=!y)
    {
        cout<<"h";
    }
    else
    {
        cout<<"p";
    }
    getch();
}

输出是p,请解释代码是如何工作的以及x=!y的含义。

看起来像是一个产生有效代码的拼写错误。扩展它有帮助--

if (x = (!y))

由于y是10,!y==0,赋值本身会产生一个值。特别是x = 0的值为0,因此测试的求值结果为0,这就是您得到结果的原因。

但在这种背景下写这是一件疯狂的事情,大概什么是,或者应该是

if (x != y)

也就是说,不是平等的。

x=!y是一个赋值。

x被分配了!y表达式的值,这是一个逻辑"NOT"运算。如果操作数为零,则此操作返回true,否则返回false。值CCD_ 11在被分配回CCD_ 13时变为CCD_;CCD_ 14变为零。

在C和C++中,可以在if条件语句和其他控制语句(如forwhile循环)中使用赋值表达式。指定的值用于评估条件,而指定本身则作为副作用执行。在这种情况下,条件是!y