【发布时间】:2012-04-26 23:54:27
【问题描述】:
我的任务是读取两个数字字符串并将它们保存在不同的数组中。 我决定使用 scanf 函数,但程序只能读取第一个字符串。 这是我的错误代码。
int main()
{
int firstArray[50], secondArray[50], i, j;
/* fill an array with 0 */
for(i=0; i<50; ++i)
{
firstArray[i]=secondArray[i]=0;
}
i=j=0;
while((scanf("%d", &firstArray[i]))== 1) { ++i; }
while((scanf("%d", &secondArray[j]))== 1) { ++j; }
/* Print this. */
for(i = 0; i < 20; ++i)
{
printf("%d ", firstArray[i]);
}
putchar('\n');
for(j = 0; j < 20; ++j)
{
printf("%d ", secondArray[j]);
}
return 0;
}
我只是不明白 scanf 函数是如何工作的。谁能解释一下?
【问题讨论】:
-
scanf的输入是什么样的? -
#first line 123 54 34 54 3455 [行尾;或\n]。而#second 行也是一样的/
-
@user1334306 现在才阅读此评论,将更新我的答案!