要特别注意形状相近的字母,最典型的是小写字母“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”等是不分大小写的,利用这个特点,既能预防这类笔误,又能提高可读性。