【发布时间】:2020-03-27 23:09:33
【问题描述】:
我正在完成我的一项 C 作业。我在接受未知数量的输入时遇到了一点问题。这是我的代码:
while ((a = getchar()) != EOF){
ungetc(a,stdin);
scanf(" %c %d %d %d",&a,&b,&c,&d);
arr1[3*i] = b;
arr1[3*i+1] = c;
arr1[3*i+2] = d;
i++;
(我已经完成了所有的声明)
我在这里尝试做的是我接受输入并将它们存储在三个数组中。我的意见是:
X 10 18 3
r -3 2 1
Y 0 -2 -1
在终端中写完这些后,我必须按两次 ctrl+d 按钮。然后当我尝试检查 arr1 时,它就像 {10, 18, 3, -3 ,2 ,1 ,0 ,-2 ,-1 ,0 ,-2 ,-1} 最后一个输入是重复的,我没有不知道是什么原因。。
!!!主要的是我不知道我会接受多少输入。 !!!
感谢您的帮助。
【问题讨论】:
-
while (scanf(" %c%d%d%d",&a,&b,&c,&d) == 4)是写循环的正常方式。
标签: c input while-loop