Exercice

rt2g4 -  
 rt2g4 -
Bonjour,
soit le programme suivant:
#include<stdio.h>
#include<conio.h>
int longeurchaine(char *ch)
{
if(*ch=='\0')return(0);
else
return(1+longeur(ch+1));
}
main()
{
char *chaine;
printf("saisir une chaine de caractere");
scanf("%s",chaine);
printf("la longeur de la chaine est%d\n",longeur(chaine));
getch();
}
en fait,ce programme permet de determiner la longeur de la chaine sans utiliser strlen definie dans <string.h> mais plutot par le mecanisme de la recursivité.
j'espere bien que je ne vous est pas dérangé avec la longeur du programme ,je fait ca pour que vous puissiez si vous permettez de me repondre à ma question :
comment peut on modifier ce programme afin d'afficher les résultats intérmédiaires(pour chaque appel récursif).j'attend votre réponse et merci infinément d'avance.

3 réponses

ibtor Messages postés 2564 Statut Membre 283
 
un printf dans la fonction longueur ?
0
rt2g4
 
bojour, oui ibtor , on peut faire ca et j'ai deja tester sur ordinateru ,je vous jure que j'ai pas personne pour m'aider à surmonter ce probléme ,s'il vous plait aidez moi à résoudre l'exercice.
0
the Lebanese Messages postés 269 Statut Membre 16
 
Je ne veux pas te critiquer mais tu programmes comme un ******. On met un seul return à la fin et on met des conditions si l'on ne veut pas que le programme exécute certaine chose.
De plus strlen appartient à cstring à ne pas confondre avec string.length() qui appartient à string.
Enfin, je ne comprends pas bien ta question. Tu n'as pas de boucle donc un seul résultat. C'est quoi le résultat intermédiaire ?
0
rt2g4
 
slt, je vous jure que mon programme a été exécuté ,il est tout a fait juste ,je ne vais pas pourtant me faché surtout que d'apres ce que vous dite ,je programmae comme****** mais je souhite que vous m'aider .en fait, valeurs int"rmédiares c'est à dire que lors de l'appel récursif, le résultat de cette appel doit etre affiché.j'attend vos réponses.merci
0