全体单目第二;" />
龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > C/C++开发 >

C++中<<的优先级

时间:2009-12-22 15:42来源:未知 作者:admin 点击:
分享到:
发现 #include #define GET_BIT(a, b, c) a int main() { int a = 1; int b = 5; int c = 4; printf("%dn", GET_BIT(a, b, c) + 1); } result: 4 C的优先级口诀 括号成员第一; //括号运算符[]() 成员运算符. -> 全体单目第二;

  发现<<的优先级好低呀...还是我太无知了...

#include

#define GET_BIT(a, b, c) a << b - c

int main()

{

int a = 1;

int b = 5;

int c = 4;

printf("%dn", GET_BIT(a, b, c) + 1);

}

result: 4

  C的优先级口诀

  括号成员第一; //括号运算符[]() 成员运算符. ->

  全体单目第二; //所有的单目运算符比如++、 --、 +(正)、 -(负) 、指针运算*、&

  乘除余三,加减四; //这个"余"是指取余运算即%

  移位五,关系六; //移位运算符:<< >> ,关系:> < >= <= 等

  等于(与)不等排第七; //即== 和!=

  位与异或和位或; //这几个都是位运算: 位与(&)异或(^)位或(|)

  "三分天下"八九十;

  逻辑或跟与; //逻辑运算符:|| 和 &&

  十二和十一; //注意顺序:优先级(||) 底于 优先级(&&)

  条件高于赋值, //三目运算符优先级排到13 位只比赋值运算符和","高

  逗号运算级最低! //逗号运算符优先级最低

精彩图集

赞助商链接