Langage C ( problème boucle while )

Résolu/Fermé
Mohssine - 4 mars 2011 à 16:50
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 - 4 mars 2011 à 20:21
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 !

1 réponse

KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
4 mars 2011 à 20:21
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);
0