Menu
Coddy logo textTech

Usando strlen()

Parte da seção Logic & Flow do Journey de C da Coddy — lição 15 de 63.

Você aprendeu como ler strings da entrada do usuário, mas agora você precisa de uma maneira de determinar o comprimento dessas strings. C fornece a função strlen() da biblioteca <string.h> especificamente para esse propósito.

A função strlen() conta o número de caracteres em uma string, parando quando alcança o terminador nulo \0. Importante: ela não inclui o terminador nulo em sua contagem - ela conta apenas os caracteres visíveis reais.

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

char word[] = "Hello";
int length = strlen(word);
printf("Length: %d\n", length);  // Imprime: Length: 5

Para usar strlen(), você deve incluir o cabeçalho <string.h> no topo do seu programa. A função recebe uma string como seu argumento e retorna um inteiro representando o número de caracteres antes do terminador nulo.

Esta função é particularmente útil quando você precisa saber quanto espaço uma string ocupa, validar o comprimento da entrada ou realizar operações que dependem do tamanho da string. É uma das funções de string mais comumente usadas na programação C.

challenge icon

Desafio

Fácil

Escreva um programa em C que leia várias palavras da entrada e analise seus comprimentos usando a função strlen(). Seu programa deve:

  1. Ler um número inteiro n representando a quantidade de palavras a serem processadas
  2. Para cada uma das n palavras:
    • Declarar um array de caracteres com 50 elementos para armazenar a palavra
    • Ler a palavra usando scanf
    • Usar strlen() para calcular o comprimento da palavra
    • Imprimir a palavra e seu comprimento no formato especificado
  3. Após processar todas as palavras, calcular e imprimir o número total de caracteres de todas as palavras
  4. Encontrar e imprimir o comprimento da palavra mais longa encontrada

Lembre-se de incluir o cabeçalho <string.h> para usar a função strlen().

Sua saída deve exibir os resultados no seguinte formato:

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

Por exemplo, se a entrada for:

3
hello
programming
C

Sua saída deve ser:

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

Este desafio testa sua compreensão sobre o uso de strlen() para medir comprimentos de strings, o processamento de múltiplas strings com loops e a realização de cálculos baseados em dados de comprimento de strings.

Folha de consulta

A função strlen() de <string.h> conta o número de caracteres em uma string, excluindo o terminador nulo \0:

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

char word[] = "Hello";
int length = strlen(word);
printf("Length: %d\n", length);  // Imprime: Length: 5

A função recebe uma string como seu argumento e retorna um inteiro representando o número de caracteres visíveis antes do terminador nulo.

Experimente você mesmo

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

int main() {
    // Lê o número de palavras
    int n;
    scanf("%d", &n);
    
    // Variáveis para rastrear os totais
    int total_characters = 0;
    int max_length = 0;
    
    // TODO: Escreva seu código aqui
    // Processa cada palavra usando um loop
    // Para cada palavra:
    // - Declara um array de caracteres com 50 elementos
    // - Lê a palavra usando scanf
    // - Calcula o comprimento usando strlen()
    // - Imprime a palavra e seu comprimento
    // - Atualiza total_characters e max_length
    
    // Imprime os resultados finais
    printf("Total characters: %d\n", total_characters);
    printf("Longest word length: %d\n", max_length);
    
    return 0;
}
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Logic & Flow