讀古今文學網 > C語言解惑 > 1.2 象形字體擾亂視聽 >

1.2 象形字體擾亂視聽

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