标签:c++ c 移位操作 优先级 错误
对于下面的表达式,运算结果应该是多少?
int result = 4 >> 1 + 1;
我不止一次地认为运算结果为4/2+1=3。而实际上,运算结果为:4/4=1。这是由于移位操作的优先级比加法运算低。
4/2+1=3
4/4=1
上图引自百度百科
C/C++中的一个巨大的坑:移位操作的优先级问题
原文地址:http://blog.csdn.net/chfe007/article/details/42881657