C語言怎樣接收double類型變量輸入?

Tags: 類型, 語言, 變量,

在 C 語言中,當接收一個變量的輸入值,需要為變量指定類型。在實際編程時,我發現在接收 char,float,int 這些類型的變量輸入時,大家通常都能很好地掌握,卻常常在接收 double 類型變量輸入時出現問題。

那麼,C 語言應該怎樣接收 double 類型變量輸入呢?

工具/原料

C 語言編譯器

一、錯誤描述

下圖是一段簡單的 C 語言代碼,其功能為接收一個 double 類型變量輸入,並輸出接收到的值。

C語言怎樣接收double類型變量輸入

編譯該程序,並沒有編譯錯誤出現。

C語言怎樣接收double類型變量輸入

然而,在運行程序時,出現了意想不到的結果。

C語言怎樣接收double類型變量輸入

二、正確做法

錯誤原因:當在程序中調用 scanf 或 scanf_s 函數(為 scanf 的安全版本)時,需為 double 類型變量指定的標識符不是 %f ,而是 %lf。

C語言怎樣接收double類型變量輸入

因此,當我們需要接收 double 類型變量輸入時,應指定 %lf。

C語言怎樣接收double類型變量輸入

下面附上正確的代碼。

C語言怎樣接收double類型變量輸入

可以看到,更改之後,程序就可以正常運行了。

C語言怎樣接收double類型變量輸入

相關問題答案