QiuZH's Program Learn | define 宏的边缘效应
/ / 点击 / 阅读耗时 2 分钟define 宏的边缘效应
define 注意“边缘效应”,例:#define N 2+3, N 的值是 5。
1 | double a; |
在编译时我们预想 a=2.5,实际打印结果是 3.5 原因是在预处理阶段,编译器将 a=N/2 处理成 a=2+3/2,这就是 define 宏的边缘效应,所以我们应该写成 #define N (2+3)。
1 |
|
以下是一个求矩形面积的例子:
1 |
|
以上实例输出结果为:
1 | value of area : 60 |
所以如果我们需要得到正确结果应该将 #define LENGTH 10+10 修改为 #define LENGTH (10+10)。