Adloun

La taille d'une chaîne

Exercice · niveau 2 · informatique (MP2I/MPI), chapitre 1 — Le langage C

Énoncé

Combien de cases occupe char mot[] = "informatique"; ? Que vaut strlen(mot) ? Pourquoi les deux nombres diffèrent-ils ?

Corrigé

Le mot informatique compte lettres. Le tableau occupe donc 13 cases : les douze lettres et la sentinelle '\0'. Et strlen(mot) vaut 12 : elle compte les caractères avant la sentinelle.

La différence est le fondement des chaînes en C. Aucune structure ne retient la longueur : elle se déduit de la position du '\0'. Deux conséquences :

Les autres exercices de ce chapitre Le cours du chapitre

Un blocage sur cet exercice ? Le tuteur d'Adloun guide par questions, sans donner la réponse.