小编tyl*_*r16的帖子

运营商优先权

我有一个样本中期问题,我不太确定.这里是:

#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?如何评估以及之后会发生什么?

c++ operator-precedence

2
推荐指数
1
解决办法
130
查看次数

标签 统计

c++ ×1

operator-precedence ×1