Langage C ( problème boucle while )
Résolu
Mohssine
-
KX Messages postés 19031 Statut Modérateur -
KX Messages postés 19031 Statut Modérateur -
Bonjour,
j'ai écris un petit programme, qui calcul l'addition de 2 chiffres, après un message qui demande si en veux répéter l'opération . le problème c'est quand je saisie oui pour refaire le calcul le programme ne boucle pas !
voici le code :
int a,b,c,;
char conf[255];
do{
printf("entre un chiffre : ");
scanf("%i",&a);
printf("entre un chiffre : ");
scanf("%i",&b);
c=a+b;
printf("Le résultat c'est %i",c);
printf("\nvoulez vous repeter tapez oui : ");
scanf("%s",&conf);
}
while(conf=='oui');
printf("\n**********A BINETOT********\n");
Merci d'avance !
j'ai écris un petit programme, qui calcul l'addition de 2 chiffres, après un message qui demande si en veux répéter l'opération . le problème c'est quand je saisie oui pour refaire le calcul le programme ne boucle pas !
voici le code :
int a,b,c,;
char conf[255];
do{
printf("entre un chiffre : ");
scanf("%i",&a);
printf("entre un chiffre : ");
scanf("%i",&b);
c=a+b;
printf("Le résultat c'est %i",c);
printf("\nvoulez vous repeter tapez oui : ");
scanf("%s",&conf);
}
while(conf=='oui');
printf("\n**********A BINETOT********\n");
Merci d'avance !
A voir également:
- Factorielle en c boucle while
- Mon pc s'allume et s'éteint en boucle ✓ - Forum Matériel & Système
- Factorielle calculatrice casio ✓ - Forum Autres périphériques et appareils
- Smart tv qui s'allume et s'éteint en boucle - Forum Téléviseurs
- Casio graph 35+ ✓ - Forum calculatrices
- Xiaomi s'éteint tout seul et se rallume en boucle - Forum Xiaomi
1 réponse
Les apostrophes ' sont pour les caractères, pour les chaînes de caractères c'est des guillemets que l'on utilise...
Cependant, une chaîne de caractères c'est un pointeur en mémoire, donc même si deux chaînes différentes ont les mêmes caractères, les pointeurs sont différent donc la comparaison == renverra faux.
Il faut utiliser while(strcmp(conf,"oui")==0);
Cependant, une chaîne de caractères c'est un pointeur en mémoire, donc même si deux chaînes différentes ont les mêmes caractères, les pointeurs sont différent donc la comparaison == renverra faux.
Il faut utiliser while(strcmp(conf,"oui")==0);