我一直在思考一些初学者的错误,最后我得到了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。