Chaine de caractères
Résolu
Drood007
Messages postés
16
Statut
Membre
-
fiddy Messages postés 11653 Statut Contributeur -
fiddy Messages postés 11653 Statut Contributeur -
Bonjour,
J'ai une erreur dans la condition if , "comparaison between pointer and integer" , expliquez moi svp ?
EDIT: Précision du langage dans la coloration syntaxique.
#include<stdio.h>
#include<string.h>
main()
{ int n,i;
char v[100];
printf("Entrer un verbe du premier groupe: ");
gets(v);
n=strlen(v);
for(i=0;i<n;i++)
if(v[i]=="e"||v[i]=="r")
return 1;
J'ai une erreur dans la condition if , "comparaison between pointer and integer" , expliquez moi svp ?
EDIT: Précision du langage dans la coloration syntaxique.
A voir également:
- Chaine de caractères
- Caractères spéciaux - Guide
- Caractères ascii - Guide
- Chaine tnt gratuite sur mobile - Guide
- Plus de chaine tv - Guide
- Caracteres speciaux - Guide
2 réponses
Bonjour,
main()
Le bon prototype est :
gets(v);
Obsolète. Utilise plutôt la fonction fgets().
if(v[i]=="e"||v[i]=="r")
"e" est une chaîne de caractères. Pour parler de caractères, il faut utiliser 'e'. De même pour "r" -> 'r'.
return 1;
Si tu mets return dans la fonction main(), tu quittes ton programme. Mets plutôt un : printf("verbe du premier groupe\n");
A la fin de ton main(), n'oublie pas de mettre un return 0; pour signaler que ton programme s'est bien déroulé.
Une fois tout ceci corrigé, il te restera des problèmes fonctionnelles.
<ital>if(v[i]=='e'||v[i]=='r')</ital>
Ce n'est pas la bonne condition pour tester l'appartenance au 1er groupe. Il faut plutôt que l'avant-dernier caractère soit 'e' et que le dernier caractère soit 'r'. Pas besoin de boucle.
Cdlt,
Google is your friend
main()
Le bon prototype est :
int main(void)
gets(v);
Obsolète. Utilise plutôt la fonction fgets().
if(v[i]=="e"||v[i]=="r")
"e" est une chaîne de caractères. Pour parler de caractères, il faut utiliser 'e'. De même pour "r" -> 'r'.
return 1;
Si tu mets return dans la fonction main(), tu quittes ton programme. Mets plutôt un : printf("verbe du premier groupe\n");
A la fin de ton main(), n'oublie pas de mettre un return 0; pour signaler que ton programme s'est bien déroulé.
Une fois tout ceci corrigé, il te restera des problèmes fonctionnelles.
<ital>if(v[i]=='e'||v[i]=='r')</ital>
Ce n'est pas la bonne condition pour tester l'appartenance au 1er groupe. Il faut plutôt que l'avant-dernier caractère soit 'e' et que le dernier caractère soit 'r'. Pas besoin de boucle.
Cdlt,
Google is your friend