线x=是什么!你的意思是
What does the line x=!y mean
这是代码的一部分
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
条件语句和其他控制语句(如for
和while
循环)中使用赋值表达式。指定的值用于评估条件,而指定本身则作为副作用执行。在这种情况下,条件是!y
。
相关文章:
- 我不知道这条线是做什么的
- 这个构造函数是做什么的
- 叮叮当当的'range-loop-analysis'诊断是关于什么的?
- qt c++ 中的这句话是做什么的
- 这是做什么的?C++
- "+="操作员究竟是做什么的?
- C 运算符在参考vars上,这是做什么的
- gen~ phasor() 是做什么的?(将 Max/MSP gen 转换为 C++)
- 'auto f(params) -> decltype(..., void())' 中的 'void()' 是做什么的?
- 除了内存管理,QObject的父级是做什么用的?
- Xor -> 和 -> Xor 是做什么的?
- 这是做什么的?C++
- constchar***是什么意思?它是如何从C语言转换为Java语言的
- const 类 * const Function() 第二个 const 是做什么的
- 引用到引用在C++中是什么意思?(不是右值引用)
- "using namespace"到底是做什么的?
- std::cout 可以设置坏位或故障位与操作员<<吗?如果是,什么时候?
- 这个标头错误是由什么引起的
- "DHT11 ? 0 : -40;" 这种语法是什么意思,叫什么?
- 这个基数是什么意思?它是标准的c++关键字吗?