要特別注意形狀相近的字母,最典型的是小寫字母「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」等是不分大小寫的,利用這個特點,既能預防這類筆誤,又能提高可讀性。