Chaine de caractères

Résolu/Fermé
Drood007 Messages postés 8 Date d'inscription mardi 5 mai 2015 Statut Membre Dernière intervention 9 juin 2015 - Modifié par Whismeril le 8/06/2015 à 07:54
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 8 juin 2015 à 14:11
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
8 juin 2015 à 08:02
Bonjour,
" designe une chaine de caractere
' designe un caractere
0
Drood007 Messages postés 8 Date d'inscription mardi 5 mai 2015 Statut Membre Dernière intervention 9 juin 2015
8 juin 2015 à 14:07
merci
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 841
Modifié par fiddy le 8/06/2015 à 14:11
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