Condition qui passe pas
mskhoot
-
loupius Messages postés 789 Statut Membre -
loupius Messages postés 789 Statut Membre -
Bonjour,
Quelqu'un pourrait m'expliquer pourquoi ceci ne marche pas:
Quelqu'un pourrait m'expliquer pourquoi ceci ne marche pas:
#include<stdio.h>
void main()
{
short int i=10;
while(i--)
{
i==0?break;:printf("%d\n",i);
}
}
2 réponses
-
i==0?break;:printf("%d\n",i);
Je ne pense pas que cette expression puisse passer l'étape de la compilation.
En effet, cette ligne est en fait une expression qui doit pouvoir être évaluée; on doit pouvoir écrire quelque chose comme:a = b > 0 ? expression1 : expression2;
Ceci est interprété comme: Si 'b' est positif, alors 'expression1' est évaluée et le résultat est affecté à 'a'. Or dans ton cas il est impossible d'évaluer 'break'.
Bonne continuation. -