
Envoyé par
joejoe1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| #include <stdio.h>
#include <string.h>
int main(void)
{
int i,cpt=0;
char *p;
int taille = 135;
char *t;
printf("veuillez saisir une phrase de - de 130 caracs svp :\n");
scanf("%s",t);
for(i=0,p=t;i<taille;i++,p++)
{
printf("%c",*p);//affiche la chaine pr verif
if (strcmp(*p, "e") == NULL){cpt = cpt+1;}//incremente cpt si p pointe sur un "e"
}
printf("il y a %d fois la lettre e ds le texte",cpt);
} |
Il y a des choses qui ne vont pas dans ton code.
Tout d'abord la saisie avec scanf tu dis que tu sockets la chaîne saisie au clavier dans t mais t est un pointeur sur chaîne c'est tout il n'y a pas de la mémoire pour stocker 135caractères comme tu le crois.
il faut écrire :
boucler jusqu'au '\0' car la chaîne peut-être plus petite que 135, tu peux écrire
for(i=0,p=t;*p!='\0';i++,p++)
Finalement strcmp s'utilise pour comparer 2 chaînes toi tu veux comparer un caractère de la chaîne.
Pour cela tu peux écrire
Partager