Menu
Coddy logo textTech

Uso di strlen()

Fa parte della sezione Logica e flusso del percorso C di Coddy. Lezione 15 di 63.

Hai imparato a leggere le stringhe dall'input dell'utente, ma ora ti serve un modo per determinare quanto sono lunghe. C fornisce la funzione strlen() della libreria <string.h> proprio a questo scopo.

La funzione strlen() conta il numero di caratteri in una stringa, fermandosi quando raggiunge il terminatore nullo \0. È importante notare che non include il terminatore nullo nel conteggio: conta solo i caratteri effettivamente visibili.

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

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

Per usare strlen(), devi includere l’header <string.h> all’inizio del programma. La funzione accetta una stringa come argomento e restituisce un intero che rappresenta il numero di caratteri prima del terminatore nullo.

Questa funzione è particolarmente utile quando devi sapere quanto spazio occupa una stringa, convalidare la lunghezza dell'input o eseguire operazioni che dipendono dalle dimensioni della stringa. È una delle funzioni per stringhe più utilizzate nella programmazione in C.

challenge icon

Sfida

Facile

Scrivi un programma in C che legga più parole dall'input e ne analizzi le lunghezze usando la funzione strlen(). Il tuo programma deve:

  1. Leggere un intero n che rappresenta il numero di parole da elaborare
  2. Per ciascuna delle n parole:
    • Dichiarare un array di caratteri con 50 elementi per memorizzare la parola
    • Leggere la parola usando scanf
    • Usare strlen() per calcolare la lunghezza della parola
    • Stampare la parola e la sua lunghezza nel formato specificato
  3. Dopo aver elaborato tutte le parole, calcolare e stampare il numero totale di caratteri di tutte le parole
  4. Trovare e stampare la lunghezza della parola più lunga incontrata

Ricorda di includere l'header <string.h> per usare la funzione strlen().

L'output deve mostrare i risultati nel seguente formato:

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

Per esempio, se l'input è:

3
hello
programming
C

L'output deve essere:

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

Questa sfida verifica la tua comprensione di come usare strlen() per misurare la lunghezza delle stringhe, elaborare più stringhe con i cicli ed eseguire calcoli basati sui dati relativi alla lunghezza delle stringhe.

Provalo tu

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

int main() {
    // Leggi il numero di parole
    int n;
    scanf("%d", &n);
    
    // Variabili per tenere traccia dei totali
    int total_characters = 0;
    int max_length = 0;
    
    // TODO: Scrivi qui il tuo codice
    // Elabora ogni parola usando un ciclo
    // Per ogni parola:
    // - Dichiara un array di caratteri con 50 elementi
    // - Leggi la parola usando scanf
    // - Calcola la lunghezza usando strlen()
    // - Stampa la parola e la sua lunghezza
    // - Aggiorna total_characters e max_length
    
    // Stampa i risultati finali
    printf("Total characters: %d\n", total_characters);
    printf("Longest word length: %d\n", max_length);
    
    return 0;
}
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Logica e flusso

Esercitati da solo: Compilatore C online