Я пытаюсь взять до 10 целых входов, а затем распечатать их. Поэтому, если пользователь вводит 4 целых числа, программа будет распечатывать эти 4 и заканчивать программу. Если они входят в 10 он будет печатать все 10. Если они входят в более чем 10, это будет только распечатать первый 10.Как принять до определенного количества входов в C
Вот что я до сих пор:
int array[10];
int i = 0;
while(i < 10 && scanf("%d\n", &array[i]) == 1){
printf("%d ",array[i]);
i++;
}
Это Безразлично» t достаточно работать, если я войду в 3 числа, он распечатает первые 2, а не распечатает третий, пока не нажму ctrl-D, и выйду, когда я снова нажму ctrl-D.
[Почему Printf не смывать после вызова, если перевод строки не находится в строке формата?] (Http://stackoverflow.com/q/1716296/ 335858) – dasblinkenlight
Включает ли пользователь цифры в одну строку или отдельные строки или какую-то смесь? Данные не доступны для программы до тех пор, пока не будет введена новая строка (если вы не наберете control-D). Данные не отображаются на выходе до тех пор, пока вы не напечатаете новую строку. –
@JonathanLeffler Любая смесь, только до тех пор, пока они не будут использовать ctrl-D –