- 关于 宏:只是单纯的字符替换,不要强加逻辑。
#define M(x,y,z) x*y+z
int main()
{
int a=2,b=3,c=4;
printf("%d",M(a+b,b+c,c+a));// a+b*b+c+a
return 0;
}
2.位运算符只能用在整型数据中。
3.用下标访问字符串。
4.优先级:
1、优先级与求值顺序无关。如a+b && bc,虽然优先级最高,但这个表达式求值顺序是从左到右。
优先级从上到下依次递减,最上面具有最高的优先级,逗号操作符具有最低的优先级。
2、相同优先级中,按结合性进行结合。大多数运算符结合性是从左到右,
只有三个优先级是从右至左结合的,它们是单目运算符、条件运算符、赋值运算符。
3、指针最优,单目运算优于双目运算。如正负号。
先算术运算,后移位运算,最后位运算。请特别注意:1 << 3 + 2 & 7等价于 (1 << (3 + 2))&7 逻辑运算最后结合。