lg_chaine1
) qui admette en paramètre un
tableau de caractères se terminant par un null, et qui rende le
nombre de caractères du tableau (null exclu).
lg_chaine2
) qui implémente le même
interface que lg_chaine1
, mais en donnant à son paramètre le type
pointeur vers char.
lg_chaine1
et lg_chaine2
.
#include <stdio.h> #define NULL_C '\0' char ch1[] = "cette chaîne comporte 35 caractères"; char ch2[] = "et celle ci fait 30 caractères"; /*****************************************************************************/ /* */ /* lg_chaine1 */ /* */ /* But: */ /* calcule la longueur d'une chaîne de caractères */ /* */ /* Interface: */ /* ch : la chaîne de caractères */ /* valeur rendue : la longueur de ch */ /* */ /*****************************************************************************/ int lg_chaine1(const char ch[]) { int i = 0; while (ch[i] != NULL_C) i++; /* équivalent a while(ch[i]) i++; */ return(i); } /*****************************************************************************/ /* */ /* lg_chaine2 */ /* */ /* But: */ /* identique à celui de lg_chaine1 */ /* */ /*****************************************************************************/ int lg_chaine2(const char *ch) { int i = 0; while (*ch != NULL_C) { i++; ch++; } return(i); } /*****************************************************************************/ /* main */ /*****************************************************************************/ int main() { printf("la longeur de ch1 est %d\n",lg_chaine1(ch1)); printf("la longeur de ch2 est %d\n",lg_chaine2(ch2)); }