讀古今文學網 > C語言解惑 > 1.7 scanf要「&」不要「\n」 >

1.7 scanf要「&」不要「\n」

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
  

程序需要再輸入一次才能繼續運行下去,程序的運行無疑不合要求。