#include <stdio.h>
int main() {
int n = 6;
while (n--){
int c = getchar();
printf("%c",c);
}
return 0;
}
может ли кто-нибудь объяснить приведенный выше код? например, если я ввожу что-то вроде этого
99999
Я получаю такой вывод
99999
но я нажал "Enter" после того как дал пять девяток, но как читаются все девятки? Я имею в виду, что если я использую scanf, мне нужно нажимать ввод после каждого ввода, но я не делал этого там, я присваиваю возвращаемое значение getchar переменной int, она не может хранить пять целых чисел вместе, так как же работает функция getchar читать все пять девяток вместе?
Потому что все 5 девяток присутствуют во входном буфере и доступны для чтения программой после нажатия <Enter>. То же самое верно и для
scanf
- новая строка не обязательно требуется после каждого элемента, только для завершения последовательности.Также проще использовать putchar.
Отвечает ли это на ваш вопрос? Как %c и %s работают в языке C?
прочитать документацию
%c
и getchar