Ein Kommaoperator ist ein Sequenzpunkt: Jeder durch Kommas getrennte Ausdruck wird von links nach rechts ausgewertet. Das Ergebnis hat den Typ und Wert des rechten Operanden. Funktional entspricht Ihr Beispiel (viel besser lesbar?):
%Vor%Hier ist ein weiteres Beispiel, das der Standard für den Kommaoperator (6.5.17) vorsieht:
Im Funktionsaufruf
%Vor%Die Funktion hat drei Argumente, die der zweite hat den Wert 5.
Aus Wikipedia:
In den C- und C ++ - Programmiersprachen ist der Komma-Operator (dargestellt durch das Token) ein binärer Operator, der seinen ersten Operanden auswertet und das Ergebnis verwirft, den zweiten Operanden dann auswertet und diesen Wert (und Typ) zurückgibt. Der Komma-Operator hat die niedrigste Priorität eines C-Operators und fungiert als Sequenzpunkt.
Die Verwendung des Kommatokens als Operator unterscheidet sich von der Verwendung in Funktionsaufrufen und Definitionen, Variablendeklarationen, Aufzählungserklärungen und ähnlichen Konstrukten, wo es als Trennzeichen fungiert.
In diesem Beispiel ist das unterschiedliche Verhalten zwischen der zweiten und dritten Zeile darauf zurückzuführen, dass der Komma-Operator eine niedrigere Priorität als die Zuweisung hat.
%Vor%Link: Ссылка
Tags und Links c