Fonction if : résultat bizarre
Yuku
Messages postés
215
Statut
Membre
-
Yuku -
Yuku -
Bonjour,
Un résultat m'étonne dans mon programme :
#include <stdlib.h>
#include <stdio.h>
int main()
{
int a=4, b=3, c=2;
if ()
printf("Vrai!\n");
else
printf("Faux!\n");
return 0;
}
//Avec 4, 5 et 6 : En effet, le programme affiche "Vrai", car a<b<c.//
//Avec 4, 2 et 1 : //
//Avec -2, -1 et 0 : Dans ce cas, a>b>c, donc le programme affiche "Faux!"//
On me demande ensuite d'évaluer les résultats avec a=4, b=5 et c=6, puis 4,2 et 1 et -2, -1 et 0.
Quand je mets 4, 5 et 6 pas de problème, j'obtiens "Vrai!".
De même, quand je mets -2, -1 et 0, j'obtiens "Faux!".
Mais quand je mets 4, 2 et 1, j'obtiens "Vrai!"... alors que ça devrait être faux...
Quelqu'un pour m'expliquer?
Un résultat m'étonne dans mon programme :
#include <stdlib.h>
#include <stdio.h>
int main()
{
int a=4, b=3, c=2;
if ()
printf("Vrai!\n");
else
printf("Faux!\n");
return 0;
}
//Avec 4, 5 et 6 : En effet, le programme affiche "Vrai", car a<b<c.//
//Avec 4, 2 et 1 : //
//Avec -2, -1 et 0 : Dans ce cas, a>b>c, donc le programme affiche "Faux!"//
On me demande ensuite d'évaluer les résultats avec a=4, b=5 et c=6, puis 4,2 et 1 et -2, -1 et 0.
Quand je mets 4, 5 et 6 pas de problème, j'obtiens "Vrai!".
De même, quand je mets -2, -1 et 0, j'obtiens "Faux!".
Mais quand je mets 4, 2 et 1, j'obtiens "Vrai!"... alors que ça devrait être faux...
Quelqu'un pour m'expliquer?
Configuration: Linux Firefox 1.0.4
5 réponses
-
Re
Je vois plutot
if ((a<b) and ( b<c)) -
-
Bonjour !
Quelle est la condition dans IF ??? -
Petite erreur de ma part, notez que j'écris dans la ligne if :
"if (a < b < c)"
Le problème est toujours le même. -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
hello
l'expression est évaluée de gauche à droite, avec 4,2,1
4<2 c'est faux, en C faux c'est 0, donc 0<1 c'est vrai