Problème sur ce petit code C
mumberea
-
le père -
le père -
Bonjour,
j'ai besoin d'aide sur ce code C. Il bloque au niveau du else. C'est tout petit programme mais j'avoue que je suis bloqué.
#include <stdio.h>
#include <stdlib.h>
void rejouer();
int main()
{
char reponse[10]={0};
scanf("%ls",&reponse);
if(reponse=="O"||reponse=="o")
{
Jeu();
}
else if(reponse=="N"||reponse=="n");
{
printf("Mercis pour tout! Armel M., le concepteur\n\n");
exit(0);
}
else
{
printf("Veuillez tapez O ou N!\n");
rejouer();
};
return 0;
}
j'ai besoin d'aide sur ce code C. Il bloque au niveau du else. C'est tout petit programme mais j'avoue que je suis bloqué.
#include <stdio.h>
#include <stdlib.h>
void rejouer();
int main()
{
char reponse[10]={0};
scanf("%ls",&reponse);
if(reponse=="O"||reponse=="o")
{
Jeu();
}
else if(reponse=="N"||reponse=="n");
{
printf("Mercis pour tout! Armel M., le concepteur\n\n");
exit(0);
}
else
{
printf("Veuillez tapez O ou N!\n");
rejouer();
};
return 0;
}
4 réponses
-
Bonjour
1 - Le "elseif" n'existe pas en C.
2 - Il ne devrait pas y avoir de point-virgule à la fin deelse if(reponse=="N"||reponse=="n");
3 - Mais surtout, on n'utilise pas == pour comparer deux chaînes !
Soit on compare deux caractères avecif(reponse[0]=='O'||reponse[0]='o')
Soit on compare deux chaînes avecif(strcmp(reponse,"O")==0 || strcmp(reponse,"o")==0)
-
je pense que ton problème vient du point-virgule après l'accolade fermante du else :
else
{
printf("Veuillez tapez O ou N!\n");
rejouer();
}; -
Rien à faire supernico. le point virgule :
{
printf("Veuillez tapez O ou N!\n");
rejouer();
}; n'a rien à voir avec le problème. Au contraire, l'enlever c'est introduire d'autres problèmes. J'ai essayé.
Mine de rien c'est un problème assez embêtant. J'ai commencé à me demander si le problème ne venait pas de mon compilateur, ce qui étais faut pcq le petit programme "hello" s'exécute bien. -
Salut,
Comme le dis supernico, le point virgule devrait poser problème.
Ensuite, je ne suis pas sur de ce que je dis, mais :
else if(reponse=="N"||reponse=="n");
{
printf("Mercis pour tout! Armel M., le concepteur\n\n");
exit(0);
}
Essaye d'attacher "elseif", et pas "else if"
(J'ai pas fait de C depuis quelques temps, donc pas sur à 100% que ce soit ça)