scanf多一个变量

时间:2014-06-26 21:05:22

标签: c user-input scanf

我有这样的路线 我正在寻找代码执行时输入的工作方式

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

我使用Cygwin编译代码,之后我被要求输入 这是否意味着我必须写两个用空格分隔的数字

60 120

还是有一些技巧可以做到这一点? 这可能是一个简单的问题,但我只是想了解当它被要求多于一个输入值时它是如何工作的 谢谢

3 个答案:

答案 0 :(得分:1)

scanf()或扫描格式化,期望以您指定的格式输入。 scanf(“%d,%f”)仅表示您希望以这种精确格式输入,例如:62,2.15。

答案 1 :(得分:0)

正如Matt Phillips所提到的,

scanf期望输入如引号所指定。
所以,是否将scanf更改为:
scanf("%d %f", &withdrawal, &balance);然后输入60 120或只输入60, 120

答案 2 :(得分:0)

在格式字符串(,)中遇到非空格字符(在您的情况下为"%d, %f")时,scanf会将其与下一个输入字符进行比较。

  
      
  • 如果两个字符匹配,scanf将丢弃输入字符并继续处理格式字符串。
  •   
  • 如果角色不匹配,scanf会将违规字符放回输入缓冲区并中止而不进一步处理格式字符串。
  •   

因此,您需要输入60, 120.0,以便scanf成功读取输入。