Передача строки в функцию - C (СИ)

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

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

Я плохо засвоил тему об указателях, и теперь мучаюсь. В мейне надо ввести какую нибуть строку(char[]), потом вызвать некую функцию в которую надо передать ету стркоку, в етой функции строку надо будет использовать в strcmp. как ето сделать. если можно, киньте простой пример, с вызовом ф-ции и ее описанием, дальше сам разберусь.

Решение задачи: «Передача строки в функцию»

textual
Листинг программы
  1. #include <stdio.h>
  2. #include <ctype.h>
  3.  
  4. int digits_count(const char * s) {
  5.     return ( *s ) ? !!isdigit(*s) + digits_count(s + 1) : 0;
  6. }
  7.  
  8. int main(void) {
  9.     char buf[BUFSIZ];
  10.    
  11.     while ( printf("String: ") && fgets(buf, BUFSIZ, stdin) && *buf != '\n' )
  12.         printf("%d digits.\n", digits_count(buf));
  13.    
  14.     return 0;
  15. }

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

  1. Включаем необходимые заголовочные файлы для работы с функциями ввода-вывода и строками.
  2. Определяем функцию digits_count, которая принимает указатель на строку и возвращает количество цифр в этой строке. Рекурсивный вариант функции.
  3. Определяем функцию main, которая является точкой входа в программу. В этой функции программа запрашивает строку у пользователя, затем передает эту строку в функцию digits_count для подсчета количества цифр в ней.
  4. Создаем буфер для хранения строки, вводимой пользователем.
  5. Входим в цикл, который будет выполняться до тех пор, пока пользователь не введет пустую строку. В каждой итерации цикла:
    • Выводим приглашение для ввода строки.
    • Считываем строку с помощью fgets.
    • Проверяем, что строка не пустая.
    • Вызываем функцию digits_count для подсчета количества цифр в строке.
    • Выводим результат подсчета на экран.
  6. Завершаем программу.

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


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

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

5   голосов , оценка 3.4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы