int main()
{
int x = 2;
x + 1; //1
if ((x - 2) && (x = 7)) { //2 and 3
// do something
}
}
我知道的:
- 由于&&左侧将返回false,因此无法评估赋值语句,因此连接词永远不会为真。
问题:
- 操作1后内存的情况是怎样的?
- x-2(2)后x的值是否改变?
在调试器中,我看到这并不会改变x的值,但我正在使用Visual Studio的C++编译器,因此可能会得到其他值。
提前感谢:)
if()
条件里的。 - πάντα ῥεῖand(与)
的一个输入为false(假)
,那么结果将是false(假)
。另外,短路行为是在标准中指定的行为。 - jaggedSpire