Chaine de caractères

Résolu
Drood007 Messages postés 8 Date d'inscription   Statut Membre Dernière intervention   -  
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,
#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:

2 réponses

Utilisateur anonyme
 
Bonjour,
" designe une chaine de caractere
' designe un caractere
0
Drood007 Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
 
merci
0
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
Bonjour,

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
0