在 C 語言中,當接收一個變量的輸入值,需要為變量指定類型。在實際編程時,我發現在接收 char,float,int 這些類型的變量輸入時,大家通常都能很好地掌握,卻常常在接收 double 類型變量輸入時出現問題。
那麼,C 語言應該怎樣接收 double 類型變量輸入呢?
工具/原料
C 語言編譯器
一、錯誤描述
下圖是一段簡單的 C 語言代碼,其功能為接收一個 double 類型變量輸入,並輸出接收到的值。
編譯該程序,並沒有編譯錯誤出現。
然而,在運行程序時,出現了意想不到的結果。
二、正確做法
錯誤原因:當在程序中調用 scanf 或 scanf_s 函數(為 scanf 的安全版本)時,需為 double 類型變量指定的標識符不是 %f ,而是 %lf。
因此,當我們需要接收 double 類型變量輸入時,應指定 %lf。
下面附上正確的代碼。
可以看到,更改之後,程序就可以正常運行了。