Подсчет числа определенных букв - C (СИ)
Формулировка задачи:
Хочу подсчитать количество букв A и g. Подскажите где ошибка,если не трудно
#include <stdio.h>
void myalarm(char *val);
int main()
{
char mas[100];
scanf("%s",mas);
myalarm(mas);
printf("%s\n", mas);
}
void myalarm(char *val)
{
int i,l;
while(val[i] != 0)
{
if (val[i] == 'A' || val[i] == 'g')
{
l++;
}
i++;
}
val[i] = l;
}Решение задачи: «Подсчет числа определенных букв»
textual
Листинг программы
#include <stdio.h>
void myalarm(char *val);
int main()
{
char mas[100];
scanf("%s",mas);
myalarm(mas);
}
void myalarm(char *val)
{
int i=0,l=0;
while(val[i] != 0)
{
if (val[i] == 'A' || val[i] == 'g')
{
l++;
}
i++;
}
printf("%d\n", l);
}
Объяснение кода листинга программы
В этом коде:
- Объявлена функция
myalarm, которая принимает в качестве аргумента указатель на строкуchar *val. - В функции
mainобъявлен массивmasтипаcharразмером 100. - В функции
mainс помощью функцииscanfв массивmasсчитывается строка. - Вызывается функция
myalarmс аргументомmas. - В функции
myalarmобъявлены две переменные:iиlтипаint, и инициализированы нулем. - В функции
myalarmс помощью циклаwhileпроисходит проход по всем символам строкиval. - Внутри цикла проверяется, является ли текущий символ 'A' или 'g'.
- Если символ является 'A' или 'g', то к переменной
lприбавляется единица. - После окончания цикла, в переменной
lбудет храниться количество букв 'A' и 'g' в строке. - Функция
printfвыводит значение переменнойlна экран. - Значение переменной
lбудет содержать количество букв 'A' и 'g' в введенной строке.