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;
}
A voir également:
- Problème sur ce petit code C
- Code ascii - Guide
- Code puk bloqué - Guide
- Comment déverrouiller un téléphone quand on a oublié le code - Guide
- Code activation windows 10 - Guide
- Code blocks - Télécharger - Langages
4 réponses
Bonjour
1 - Le "elseif" n'existe pas en C.
2 - Il ne devrait pas y avoir de point-virgule à la fin de
3 - Mais surtout, on n'utilise pas == pour comparer deux chaînes !
Soit on compare deux caractères avec
1 - Le "elseif" n'existe pas en C.
2 - Il ne devrait pas y avoir de point-virgule à la fin de
else if(reponse=="N"||reponse=="n");
3 - Mais surtout, on n'utilise pas == pour comparer deux chaînes !
Soit on compare deux caractères avec
if(reponse[0]=='O'||reponse[0]='o')Soit on compare deux chaînes avec
if(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();
};
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.
{
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)
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)