LoK-DoK Asked:2024-11-15 00:03:49 +0800 CST2024-11-15 00:03:49 +0800 CST 2024-11-15 00:03:49 +0800 CST cout << !(5 > 7) && 2 > 3;是真是假? 772 我正在运行一个 C++ 测试,并遇到了这个任务,如果你仔细想想,结果应该是 False,我在三个编译器中检查了它并被卡住了。请解释一下为什么是假的?优先事项 !更高,但是是从右到左;本例中其余运算符的优先级较低,从左到右。 c++ 1 个回答 Voted Best Answer Harry 2024-11-15T00:11:52+08:002024-11-15T00:11:52+08:00 让我们看看优先事项... 嗯,当然,5>7在括号里。 !打断&&。 cout << (!(5 > 7)) && 2 > 3; 比较中断&&:cout << ((!(5 > 7)) && (2 > 3); 操作员<<中断&&:(cout << ((!(5 > 7))) && (2 > 3); 一切都清楚了吗? 我们计算5>7 - false,它的否定为true,这就是我们的推论。好吧,我们将输出结果与2>3进行比较,并且不输出到任何地方......
让我们看看优先事项...
嗯,当然,
5>7
在括号里。!
打断&&
。cout << (!(5 > 7)) && 2 > 3;
比较中断
&&
:cout << ((!(5 > 7)) && (2 > 3);
操作员
<<
中断&&
:(cout << ((!(5 > 7))) && (2 > 3);
一切都清楚了吗?
我们计算5>7 - false,它的否定为true,这就是我们的推论。好吧,我们将输出结果与2>3进行比较,并且不输出到任何地方......