Подсчет символов в строке - C (СИ)

Узнай цену своей работы

Формулировка задачи:

по К и Р надкнулся на такой код
double nc;
for(nc=0; getchar()!=EOF; ++nc);
я решил как то изменить код так,чтобы проги считала количество символов з массива вот мой код
char a[4];
a[0]="qqq";
a[1]="wwer";
a[2]="\0";
double nc;
for(nc=0; a[4]!=EOF; ++nc);
printf("%.0f/n", nc);
но я не знаю как сделать так чтобы прога считала...да я и не понимаю как в этом случае
double nc;
for(nc=0; getchar()!=EOF; ++nc);
прога работает?откуда она бере символы?
ИЗВИНИТЕ ПЛИЗ ПОДСЧЕТ СИМВОЛОВ А НЕ СТРОК

Решение задачи: «Подсчет символов в строке»

textual
Листинг программы
#include <stdio.h>
 
int main( void ) {
 
int ch;
double nc= 0.0;
 
for ( ; ; ) {
    ch= getchar();
    if ( ch == EOF ) { printf( "EOF found\n" ); break; }
    if ( ch == '\n' ) { printf( "\\n found\n" ); break; }
    nc++;
}
printf( "%f\n", nc );
return 0;
 
} /* main() */

Объяснение кода листинга программы

Вывод:

  1. В данном коде на языке C выполняется подсчет количества символов в строке.
  2. Переменная ch используется для хранения очередного символа, который считывается из стандартного ввода (или из файла, если он указан вместо стандартного ввода).
  3. Переменная nc используется для хранения количества уже подсчитанных символов.
  4. Цикл for выполняется до тех пор, пока не будет достигнут конец файла (EOF) или не будет найден символ новой строки (\n).
  5. Если найден символ новой строки, цикл прерывается и выводится сообщение об этом.
  6. Если достигнут конец файла, цикл также прерывается и выводится соответствующее сообщение.
  7. В противном случае, значение переменной nc увеличивается на единицу.
  8. По завершении цикла выводится общее количество подсчитанных символов.
  9. Возвращаемое значение функции main равно 0, что означает успешный конец работы программы.

Оцени полезность:

5   голосов , оценка 4.4 из 5
Похожие ответы