【发布时间】:2010-11-07 15:48:49
【问题描述】:
我正在尝试匹配格式为“point %d %d”的行。所以我只需要两个这两个整数,然后“点”在格式字符串中被硬编码。据我了解阅读 scanf 的 Linux 手册页,这应该可以正常工作。
下一个代码,我想使用的方式,第一次调用 scanf 有效,但是下一次调用 scanf 返回一个错误代码,并且永远不会从标准输入中获取更多数字(scanf 不会阻止等待来自的更多输入标准输入):
for (;;)
{
scanf("point %d %d", &x, &y);
printf("=> point %d %d\n", x, y);
}
这样,一切都按预期工作:
int x, y;
char s[10];
for (;;)
{
scanf("%s %d %d", s, &x, &y);
printf("=> point %d %d\n", x, y);
}
关于我可能会误解什么的任何建议?
谢谢。
【问题讨论】: