Lorsque ce code source est exécuté, il affiche les résultats suivants à l'écran :
x == x : 1 x == y : 0 x == u : 0 x == v : 0 x>4 || x4 || x4 && x4 && x<3 : 1 (x) :
vrai x = 7 : 7 x=(7 !=8) : 1 x : 7 (float) x : 7
En analysant le code source, nous pouvons déduire les informations suivantes
concernant la valeur d'une expression d'affectation : L'expression d'affectation dans la première instruction x == x retournera 1 (vrai), car x est égal à lui-même. L'expression d'affectation dans la deuxième instruction x == y retournera 0 (faux), car x n'est pas égal à y. L'expression d'affectation dans la troisième instruction x == u retournera 0 (faux), car x est un entier et u est un nombre à virgule flottante. L'expression d'affectation dans la quatrième instruction x == v retournera 1 (vrai), car x sera converti en nombre à virgule flottante et sera égal à v. L'expression d'affectation dans la cinquième instruction x > 4 || x < 4 && x < 3 retournera 0 (faux), car x est à la fois plus grand que 4 et plus petit que 3 (ce qui est impossible) et le résultat final est déterminé par les opérateurs logiques utilisés. L'expression d'affectation dans la huitième instruction x = 7 affectera la valeur 7 à x. L'expression d'affectation dans la neuvième instruction x = (7 != 8) affectera la valeur 1 (vrai) à x, car l'expression 7 != 8 retourne 1 (vrai). La onzième instruction x affichera la valeur actuelle de x, qui sera 1. La douzième instruction (float) x essaie de convertir x en nombre à virgule flottante, mais le format de spécification utilisé est incorrect pour un nombre à virgule flottante. Ceci indique une erreur de format.