scanf語句中的變量前面應加上「&」號,如果少了「&」號,能編譯通過,但運行會出錯。同理,如果格式符中多了「\n」號,編譯系統也不能查出錯誤。
【例1.4】演示scanf語句多了「\n」號的錯誤。
#include <stdio.h> void main () { double x=0 ; scanf ("%Lf\n" ,&x ); printf (" 輸出x :%Lf\n" ,x ); }
編譯系統不能查出scanf語句使用的錯誤,如果運行這個程序,在接收一個數據之後,並不繼續運行。只有再隨便輸入一個數據,它才會繼續運行下去。下面是一個運行示範。
45.6 67.8 輸出x :45.600000
程序需要再輸入一次才能繼續運行下去,程序的運行無疑不合要求。