Я просто изучаю c, и я использую терминал Linux. Я написал следующий простой код, но когда я ввожу входы, файл не выходит и, следовательно, не учитывает количество символов. Может ли кто-нибудь помочь мне с этим? Я также пробовал другие коды ввода. Это то же самое со всеми моими кодами ввода. Что я делаю не так? Пожалуйста помоги.Вход не выходит из c, поэтому выход не работает
main()
{
/* count characters in input */
printf("Type some characters and the program will count the number of characters: ");
int c = getchar();
while(c!=EOF && c!= '\n')
++c;
printf("Number of characters typed: %1d\n", c);
}
Вы только когда-либо читали один символ, как только вы называете «getchar» один раз. Вам нужно вызывать его повторно, пока вы не сталкиваетесь с 'EOF' (или' \ n', или что-то еще является вашим условием остановки, возможно 'while ((c = getchar())! = EOF)?? – jpw
Что такое эта функция getchar()? Способ ввода ввода является нормальным через scanf («% s», buffer), который будет принимать входные данные и копировать их в переменную ** buffer ** – Yvain
@Yvain 'getchar' - стандартная функция, определенная в stdio.h, если OP хочет читать char с помощью char scanf («% s»), не подходит. – jpw