En fonction de la Priorité de l'Opérateur, opérateur virgule a priorité moins élevée operator=
, alors x = 2,3;
est équivalent à (x = 2),3;
. (La priorité de l'opérateur détermine la façon dont l'opérateur sera tenu de ses arguments, plus serré ou plus lâche que les autres opérateurs en fonction de leurs priorités.)
Notez la virgule expression est - (x = 2),3
d'ici, pas 2,3
. x = 2
est évalué dans un premier temps (et de ses effets secondaires), puis le résultat est plus d'actualité, 3
est évalué (il ne fait rien en fait). C'est pourquoi la valeur de l' x
est 2
. Notez que 3
est le résultat de l'ensemble de la virgule expression (c - x = 2,3
), il ne sera pas utilisé pour attribuer à l' x
. (Changer en x = (2,3);
, x
sera attribué avec 3
.)
Pour return 2,3;
, la virgule expression est - 2,3
, 2
est évaluée alors que son résultat est mis au rebut, et puis, 3
évalué et est retourné à la suite de l'ensemble de la virgule expression, qui est renvoyée par l' instruction de retour plus tard.
Plus d'informations sur les Expressions et les Déclarations
Une expression est une séquence d'opérateurs et de leurs opérandes, qui spécifie un calcul.
x = 2,3;
est l'expression de l'énoncé, x = 2,3
est l'expression ici.
Une expression suivie d'un point-virgule est une instruction.
Syntaxe: attr(optional) expression(optional) ; (1)
return 2,3;
est instruction de saut (return), 2,3
est l'expression ici.
Syntaxe: attr(optional) return expression(optional) ; (1)