我有這樣 行,我正在尋找如何在執行scanf函數不止一個變量
scanf("%d, %f",&withdrawal ,&balance);
我使用Cygwin編譯代碼,事後我問了輸入的代碼輸入工作。
這是否意味着我必須寫的空間
60 120
還是有一些技巧,做隔開的兩個數字?
這可能是一個簡單的問題,但我只是想了解它是如何工作,當它被要求多一個輸入值。
謝謝
我有這樣 行,我正在尋找如何在執行scanf函數不止一個變量
scanf("%d, %f",&withdrawal ,&balance);
我使用Cygwin編譯代碼,事後我問了輸入的代碼輸入工作。
這是否意味着我必須寫的空間
60 120
還是有一些技巧,做隔開的兩個數字?
這可能是一個簡單的問題,但我只是想了解它是如何工作,當它被要求多一個輸入值。
謝謝
scanf()的,或掃描格式,期望在您指定的格式輸入。 scanf(「%d,%f」)僅表示您希望以這種確切格式輸入,例如:62,2.15。
如Matt Phillips所述,scanf需要引號中指定的輸入。
所以,無論變化的scanf函數來:
scanf("%d %f", &withdrawal, &balance);
然後輸入60 120
或只是輸入60, 120
在格式字符串("%d, %f"
)中遇到非空白字符(,
)時,scanf
將其與下一個輸入字符進行比較。
- 如果兩個字符匹配,
scanf
丟棄輸入字符並繼續處理格式字符串。- 如果字符不匹配,
scanf
將違規字符放回到輸入緩衝區中並中止,而不進一步處理格式字符串。
因此,你需要輸入60, 120.0
使scanf
讀取輸入成功。
你也需要一個逗號 - 「60,120」 –
或從''%d,%f「'中移除',',改爲'」%d%f「' – BLUEPIXY
它幫我分配,謝謝 – user37202