您的位置:首页 > 其它

运算符优先级一则小案例

2016-01-13 11:45 295 查看
遇到好的案例总是有必要记录下来的。

规则书上明明白白写着,但教科书上基本上很少给出一些案例。

上代码:

int main()
{
int a = 2;
int b = 3;
if (a & b != 0) {
printf("if-block\n");
} else {
printf("else-block\n");
}

return 0;
}


聪明点的编译器会给出warning,比如手头的VS2010:

warning C4554: “&”: 检查运算符优先级可能存在的错误;使用圆括号阐明优先级


不过很常见的是:对warning视而不见的不在少数。

正确的做法:

if ((a & b) != 0)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: