Chaine de caractères

Résolu
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.

2 réponses

  1. Bonjour,
    " designe une chaine de caractere
    ' designe un caractere
    1. merci
  2. Contributeur
    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