2014-06-26 80 views
0

我有這樣 行,我正在尋找如何在執行scanf函數不止一個變量

scanf("%d, %f",&withdrawal ,&balance); 

我使用Cygwin編譯代碼,事後我問了輸入的代碼輸入工作。
這是否意味着我必須寫的空間

60 120 

還是有一些技巧,做隔開的兩個數字?
這可能是一個簡單的問題,但我只是想了解它是如何工作,當它被要求多一個輸入值。
謝謝

+1

你也需要一個逗號 - 「60,120」 –

+0

或從''%d,%f「'中移除',',改爲'」%d%f「' – BLUEPIXY

+0

它幫我分配,謝謝 – user37202

回答

1

scanf()的,或掃描格式,期望在您指定的格式輸入。 scanf(「%d,%f」)僅表示您希望以這種確切格式輸入,例如:62,2.15。

0

如Matt Phillips所述,scanf需要引號中指定的輸入。
所以,無論變化的scanf函數來:
scanf("%d %f", &withdrawal, &balance);然後輸入60 120或只是輸入60, 120

0

在格式字符串("%d, %f")中遇到非空白字符(,)時,scanf將其與下一個輸入字符進行比較。

  • 如果兩個字符匹配,scanf丟棄輸入字符並繼續處理格式字符串。
  • 如果字符不匹配,scanf將違規字符放回到輸入緩衝區中並中止,而不進一步處理格式字符串。

因此,你需要輸入60, 120.0使scanf讀取輸入成功。