2013.10.28
int main()
{
int i = 1;
int b = i<<1+1;
int c = i<<1 + 1;//注意这个1+1之间已经有了空格
cout<<b<<" "<<c<<endl;
}
尼玛打印的结果居然都是4;原因是因为+的优先级大于<<,原先从来没有发现啊,所以这个的正确写法是
int b = (i<<1)+1;
2013.10.28
int main()
{
int i = 1;
int b = i<<1+1;
int c = i<<1 + 1;//注意这个1+1之间已经有了空格
cout<<b<<" "<<c<<endl;
}
尼玛打印的结果居然都是4;原因是因为+的优先级大于<<,原先从来没有发现啊,所以这个的正确写法是
int b = (i<<1)+1;