2014-06-26 82 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读取输入成功。