要特别注意形状相近的字母,最典型的是小写字母“l”和数字“1”。以下面的程序为例。
【例1.1】演示混淆字母“l”和数字“1”的错误程序。
#include <stdio.h>
void main
()
{
double x=0
;
printf
("
输入x
:"
);
scanf
("%1f"
,&x
);
printf
("
输出x
:%f\n"
,x
);
}
问题是编译系统判断不出这类问题,虽然程序编译正确,但运行结果却是错误的。本书约定使用下划线标注输入并以回车键结束,以后不再赘述。下面是演示示范。
输入x : 7.8 输出:0.000000
错误的原因是“lf”中的小写字母“l”错为数字“1”。为了预防这种错误,可以使用大写字母L,即
scanf ("%Lf" ,&x );
C语言是对大小写敏感的,但对printf格式符号“F”和“f”、“L”和“l”等是不分大小写的,利用这个特点,既能预防这类笔误,又能提高可读性。
