Menu
CoddyTech

Использование strlen()

Часть раздела Логика и управление потоком путешествия по C на Coddy. Урок 15 из 63.

Ты научился считывать строки, введённые пользователем, но теперь тебе нужен способ определить их длину. Для этой цели в C есть функция strlen() из библиотеки <string.h>.

Функция strlen() подсчитывает количество символов в строке, останавливаясь, когда доходит до нулевого терминатора \0. Важно, что она не включает нулевой терминатор в подсчёт — она подсчитывает только видимые символы.

#include <stdio.h>
#include <string.h>

char word[] = "Hello";
int length = strlen(word);
printf("Length: %d\n", length);  // Выводит: Length: 5

Чтобы использовать strlen(), необходимо подключить заголовочный файл <string.h> в начале программы. Функция принимает строку в качестве аргумента и возвращает целое число, обозначающее количество символов перед нулевым терминатором.

Эта функция особенно полезна, когда нужно узнать, сколько места занимает строка, проверить длину ввода или выполнить операции, зависящие от размера строки. Это одна из наиболее часто используемых функций для работы со строками в программировании на C.

challenge icon

Задание

Легко

Напиши программу на C, которая считывает из входных данных несколько слов и анализирует их длину с помощью функции strlen(). Твоя программа должна:

  1. В строках выше твоего кода уже считывается целое число n — количество слов для обработки
  2. Для каждого из n слов:
    • Объявить символьный массив из 50 элементов для хранения слова
    • Считать слово с помощью scanf
    • Использовать strlen(), чтобы вычислить длину слова
    • Вывести слово и его длину в указанном формате
  3. После обработки всех слов записать общее количество символов во всех словах в total_characters
  4. Записать длину самого длинного слова в max_length

В строках выше твоего кода уже подключён заголовочный файл <string.h>, необходимый для работы strlen().

Строки ниже твоего кода выводят значения total_characters и max_length. Вывод должен выглядеть так:

Word: [word] - Length: [length]
Word: [word] - Length: [length]
...
Total characters: [total]
Longest word length: [max_length]

Например, если входные данные такие:

3
hello
programming
C

Твой вывод должен быть таким:

Word: hello - Length: 5
Word: programming - Length: 11
Word: C - Length: 1
Total characters: 17
Longest word length: 11

Это задание проверяет, насколько ты понимаешь, как использовать strlen() для измерения длины строк, обрабатывать несколько строк с помощью циклов и выполнять вычисления на основе данных о длине строк.

Попробуйте сами

    // TODO: Напишите здесь свой код
    // Обработайте каждое слово в цикле
    // Для каждого слова:
    // - Объявите массив символов из 50 элементов
    // - Считайте слово с помощью scanf
    // - Вычислите длину с помощью strlen()
    // - Выведите слово и его длину
    // - Обновите total_characters и max_length
    
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Логика и управление потоком

Потренируйтесь самостоятельно: Онлайн-компилятор C