我有这样的路线 我正在寻找代码执行时输入的工作方式
scanf("%d, %f",&withdrawal ,&balance );
我使用Cygwin编译代码,之后我被要求输入 这是否意味着我必须写两个用空格分隔的数字
60 120
还是有一些技巧可以做到这一点? 这可能是一个简单的问题,但我只是想了解当它被要求多于一个输入值时它是如何工作的 谢谢
答案 0 :(得分:1)
scanf()或扫描格式化,期望以您指定的格式输入。 scanf(“%d,%f”)仅表示您希望以这种精确格式输入,例如:62,2.15。
答案 1 :(得分:0)
scanf期望输入如引号所指定。
所以,是否将scanf更改为:
scanf("%d %f", &withdrawal, &balance);
然后输入60 120
或只输入60, 120
答案 2 :(得分:0)
在格式字符串(,
)中遇到非空格字符(在您的情况下为"%d, %f"
)时,scanf
会将其与下一个输入字符进行比较。
- 如果两个字符匹配,
scanf
将丢弃输入字符并继续处理格式字符串。- 如果角色不匹配,
scanf
会将违规字符放回输入缓冲区并中止而不进一步处理格式字符串。
因此,您需要输入60, 120.0
,以便scanf
成功读取输入。