Подсчет символов в строке - 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() */
Объяснение кода листинга программы
Вывод:
- В данном коде на языке C выполняется подсчет количества символов в строке.
- Переменная
chиспользуется для хранения очередного символа, который считывается из стандартного ввода (или из файла, если он указан вместо стандартного ввода). - Переменная
ncиспользуется для хранения количества уже подсчитанных символов. - Цикл
forвыполняется до тех пор, пока не будет достигнут конец файла (EOF) или не будет найден символ новой строки (\n). - Если найден символ новой строки, цикл прерывается и выводится сообщение об этом.
- Если достигнут конец файла, цикл также прерывается и выводится соответствующее сообщение.
- В противном случае, значение переменной
ncувеличивается на единицу. - По завершении цикла выводится общее количество подсчитанных символов.
- Возвращаемое значение функции
mainравно 0, что означает успешный конец работы программы.