主要总结几点容易出错的:
1. #define ADD(a,b) a+b 此处就很容易在后续引用中出现错误,例如:ADD(3,4)*ADD(5,6) 等价于 3+4*5+6,宏定义只是简单的替换,所以此处很明显不符合要求,正确宏定义为 #define ADD(a,b) ((a)+(b)) ,把a和b变量也用(),是因为如下:#define MUL(a,b) a*b 后续引用 MUL(3+4, 5+6) 很明显此处一定要把a和b变量都用()才能符合要求。
2.可以在编译的同时给程序中的变量定义如:gcc -D MAX=10 demo.c MAX就是程序中为定义的变量