我一直在思考一些初学者的错误,最后我得到了if
声明中的错误。我对此扩展了一些代码:
int i = 0;
if (i = 1 && i == 0) {
std::cout << i;
}
我已经看到if
语句返回真实的,它cout
的i
作为1
。如果在if语句中i
分配1
了if,为什么i == 0
返回true
?
还是分配结果
—
JVApen
1 && i == 0
?
给初学者的建议:他们不应该使用这种“高级”语言构造。只需单独分配变量。这也将避免序列点可能出现的问题。实际代码中的这种代码通常也看起来很糟糕。
—
user202729 '19
这必然会导致面试问题
—
RAZ_Muh_Taz
i
被设置为1
。