如何在C中占用一定数量的输入

时间:2015-11-10 01:24:32

标签: c input eof

我正在尝试最多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时将退出。

1 个答案:

答案 0 :(得分:2)

scanf("%d\n"之后发生非空白(或EOF)之前,

int不会返回。

要在int之后返回,请使用scanf("%d"