前面温度转换版本中使用300,20等类似的“幻数”并不是一个好的习惯,它们几乎无法向以后阅读该程序的人提供什么信息,而且使程序的修改变得更加困难。
处理幻数的一个方法是赋予它们有意义的名字。比如第一个程序那样使用lower, upper, step
还可以用#define指令把符号名定义为一个特定的字符串:
#define 名字 替换文本
温度转换符号常量版
1 #include<stdio.h> 2 3 #define LOWER 0 4 #define UPPER 300 5 #define STEP 20 6 7 int main(void) 8 { 9 int fahr; 10 11 for (fahr = LOWER; fahr <= UPPER; fahr = fahr + STEP) 12 printf("%3d %6.1f\n", fahr, (5.0/9.0)*(fahr-32)); 13 14 return 0; 15 }
#define指令行的末尾没有分号