#define N 6+3, N 的值是 9。
double a;
a = (float)N/(float)2;
在编译时我们预想 a=4.5,实际打印结果是7.5 原因是在预处理阶段,编译器将 a=N/2 处理成 a=6+3/2,这就是 define 宏的边缘效应,所以我们应该写成 #define N (6+3)。
#define N 6+3, N 的值是 9。
double a;
a = (float)N/(float)2;
在编译时我们预想 a=4.5,实际打印结果是7.5 原因是在预处理阶段,编译器将 a=N/2 处理成 a=6+3/2,这就是 define 宏的边缘效应,所以我们应该写成 #define N (6+3)。