flyriz的ChinaUnix博客flyriz.blog.chinaunix.net
flyriz
全部博文(15)
2012年(15)
bitcg
ianhom
zswd168
darrinjo
ht_beyon
rosewoma
chenghui
细细斌to
stardust
分类: C/C++
2012-07-07 13:47:37
一个很小的程序,调了好久都没成功。最后终于发现,原来是移位运算符的优先级没考虑到。
注意移位运算的优先级,是要低于+,-运算的,相信很多人都没注意到这个问题,eg:
#include
int main ()
{
int a=1;
printf("%d,%d\n",a<<2+a,a);
printf("%d,%d\n",(a<<2)+a,a);
return 1;
}
结果是什么?
上一篇:Linux内核ARM构架中原子变量的底层实现研究
下一篇:kernel笔记——内核编译与进程管理
登录 注册