Kann jemand mir erklären:Variablenzuweisung und der Komma-Operator
int a, b, c, d;
a = 2;
b = 4;
c = a, b;
d = (a, b);
Warum c == 2
und d == 4
???
Kann jemand mir erklären:Variablenzuweisung und der Komma-Operator
int a, b, c, d;
a = 2;
b = 4;
c = a, b;
d = (a, b);
Warum c == 2
und d == 4
???
Die beiden Aussagen beide als
ausgewertetc = a;
d = b;
darauf zurückzuführen, wie die Komma Operator (die die niedrigste Priorität von jedem Betreiber hat) arbeitet in C und C++.
Für die erste wird c = a
zuerst ausgewertet (=
hat höhere Priorität als der Komma-Operator), dann wird b
(was ein No-Op ist) ausgewertet. Der gesamte Ausdruck hat einen Wert b
, aber das ist nichts zugewiesen.
Für d = (a, b);
wird zuerst (a, b)
aufgrund der Klammern ausgewertet. Dies hat einen Wert b
, und das ist d
zugeordnet.
ok, danke^_^ –
@ TrầnHồngPhát - Sie sollten diese Antwort akzeptieren, da es Ihnen geholfen hat und es ist genau richtig. – StoryTeller
Veröffentlichen Sie keine Code und Ergebnisse in Bildern, es ist ein PITA auf mobilen Geräten zu sehen, und Ihren Code auch in einem Compiler zu versuchen. -1 bis Sie es beheben. –
OK, tut mir leid. –
Downvote eingefahren. – Bathsheba