我有一个样本中期问题,我不太确定.这里是:
#include <iostream.h>
void f( int i )
{
if( i = 4 || i = 5 ) return;
cout << "hello world\n" ;
}
int main()
{
f( 3 );
f( 4 );
f( 5 );
return 0;
}
Run Code Online (Sandbox Code Playgroud)
所以我理解逻辑OR运算符具有更高的优先级,并且从左到右读取.我也明白,正在使用的是赋值运算符而不是关系运算符.我只是不明白如何理解这一切.编译器会检查的第一件事是4 || i?如何评估以及之后会发生什么?