Votre IP: 38.107.191.115 
  
 
Google
 
Accueil e-mail Linux
Linux
Perl
Perl
C
Langage C
Dico
Dictionnaire
Biblio liens
Bibliothèque de liens
Index articles
Index articles
 

Date création : 12-01-2008 11:13:33
Date de la dernière modification : 12-01-2008 13:10:43
C  Vous êtes dans : Langage C Astuces / Récursivité - Exercices

Enoncé :

Calculer la longueur d'une chaîne de caractères.

Solution :


#include<stdio.h>
#define MAX 255

int strlen_recursif (char *s);

int main ()
{
  char s[MAX];
  printf ("Entrez une chaine de caractères :");
  fgets (s, MAX, stdin);
  printf ("%d\n", strlen_recursif (s));
  return 0;
}

int strlen_recursif (char *s){
  if (*s == '\0')
    return 0;
  return 1 + strlen_recursif (s + 1);
}
 

Explication :

Nous utililserons le pointeur s qui est l'adresse du 1er élément de la chaîne de caractères. Dans l'appel récursif nous incrémentons le pointeur, donc nous sommes au 2ème élément de la chaîne, et ainsi de suite.
Si le pointeur contient '\0', nous sommes à la fin de la chaîne et nous ne comptons pas le caractère '\0', sinon nous ajoutons 1 (pour un caractère rencontré).
Création : octobre 2007  © Tous droits réservés 2007 linux-perl-c
Valid HTML 4.01 TransitionalValid CSS