1)若宏定义中的字符串出现运算符,需要在合适的位置上加括号,如果不添加括号可能出现错误,例如:
#define S 3+4;
如果有有一个语句a = S*c,宏定义替换后的语句a = 3 + 4 *c,这样显得不符合需求。
2)宏定义的末尾不用加分号,如果加了分号,将被视为被替换字符串的一部分。宏定义只是简单的字符串替换,并不进行语法检查,因此,宏替换的错误要等到系统编译时才能被发现:例如:
#define Max =
1)若宏定义中的字符串出现运算符,需要在合适的位置上加括号,如果不添加括号可能出现错误,例如:
#define S 3+4;
如果有有一个语句a = S*c,宏定义替换后的语句a = 3 + 4 *c,这样显得不符合需求。
2)宏定义的末尾不用加分号,如果加了分号,将被视为被替换字符串的一部分。宏定义只是简单的字符串替换,并不进行语法检查,因此,宏替换的错误要等到系统编译时才能被发现:例如:
#define Max =