【发布时间】:2015-01-18 12:46:31
【问题描述】:
我正在尝试从标准输入读取未知对,直到输入新行。
输入示例:
输入一些东西:
5
输入对:
1 3 4 2 5 2 5 4
这样做的最佳方法是什么?我尝试了几种方法,包括 fgets 和 sscanf - 但无法获得预期的结果。
这是我尝试过的,但我一直错过\n:
方法#1:
while (1)
{
scanf("%d %d", &a, &b);
// do something with a,b
if (getchar() == '\n')
break;
}
方法#2:
while (scanf("%d %d", &a, &b) == 2)
{
// do something with a,b
if (getchar() == '\n')
break;
}
我一直陷入无限循环 - 我做错了什么?
【问题讨论】:
-
您是否检查过
getchar()正在在您期望换行时返回什么?