我正在尝试最多10个整数输入,然后打印出每个输入。因此,如果用户输入4个整数,程序将打印出4个并结束程序。如果他们输入10,它将打印出所有10.如果他们输入超过10,它将只打印出前10个。
这是我到目前为止所拥有的:
int array[10];
int i = 0;
while(i < 10 && scanf("%d\n", &array[i]) == 1){
printf("%d ",array[i]);
i++;
}
这不太有效,如果我输入3个数字,它将打印出前2个,而不打印出第3个,直到我按下ctrl-D,并且当我再次按下ctrl-D时将退出。
答案 0 :(得分:2)
scanf("%d\n"
之后发生非空白(或EOF)之前, int
不会返回。
要在int
之后返回,请使用scanf("%d"