Найти первое вхождение буквы в слове - C (СИ)

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

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

Как найти первое вхождение буквы в слове "32fssdkj54" здесь должно быть (позиция) =3.
for(int k = 0; k < strlen(a); k++){ 
    if(isalpha(a[k])) .......
}

Решение задачи: «Найти первое вхождение буквы в слове»

textual
Листинг программы
#include<stdio.h>
#include<ctype.h>
 
int main(){
    char* text="019dgh32", *p=text;
    for(; *p; ++p){
        if(isalpha(*p)){
            printf("%d\n", p-text);
            break;
        }
    }
    return 0;
}

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

В данном коде происходит следующее:

  1. Включаются необходимые заголовочные файлы:
    • stdio.h - для работы с функциями ввода-вывода
    • ctype.h - для работы с функцией isalpha, которая проверяет является ли символ буквой
  2. Создаются две переменные типа char:
    • text - указатель на строку 019dgh32
    • p - указатель, который будет итерироваться по строке
  3. Устанавливается начальное значение переменной p - она указывает на первый символ в строке
  4. Запускается цикл, который будет выполняться до тех пор, пока *p не станет равным нулю (т.е. пока не будет пройдена вся строка):
    • Внутри цикла проверяется, является ли текущий символ буквой с помощью функции isalpha
    • Если символ является буквой, то выводится сообщение с числом, равным расстоянию от начала строки до текущего символа
    • После этого значение p увеличивается на единицу, чтобы перейти к следующему символу
    • Если текущий символ не является буквой, то ничего не происходит
  5. По завершении цикла возвращается 0, что означает успешное выполнение программы Таким образом, данный код находит первое вхождение буквы в строке и выводит расстояние от начала строки до этой буквы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

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