Ошибка в подсчете количества вхождений символа в строку - C (СИ)
Формулировка задачи:
Подскажите пожалуйста, в чем ошибка?
int _tmain(int argc, _TCHAR* argv[]) { char sym = 'a'; char str[] = {"adad aa asasda"}; int n = 0; for (int j = 0; j < strlen(str); j++) { if (0 == strcmp((char*)str[j], (char*)sym)) n++; } return 0; }
Решение задачи: «Ошибка в подсчете количества вхождений символа в строку»
textual
Листинг программы
{ char sym = 'a'; char *str = "adad aa asasda"; int n = 0; for (int j = 0; j < strlen(str); j++) { if (*(str+j)==sym) n++; } return 0; }
Объяснение кода листинга программы
В данном коде выполняется подсчет количества вхождений символа 'a' в строку adad aa asasda
.
- Создается символ 'a', который будет являться искомым.
- Создается указатель на строку
adad aa asasda
. - Создается переменная n, которая будет хранить количество найденных символов.
- В цикле for перебираются все символы строки str.
- Для каждого символа проверяется, равен ли он искомому символу 'a'.
- Если символ равен 'a', то к переменной n прибавляется единица.
- По завершении цикла возвращается 0. Таким образом, результатом работы программы будет число 2, так как символ 'a' встречается в строке два раза.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д