Heim  >  Artikel  >  Backend-Entwicklung  >  Was ist ein Kommaoperator in C-Sprache und Beispiele?

Was ist ein Kommaoperator in C-Sprache und Beispiele?

hzc
hzcOriginal
2020-07-02 11:40:057868Durchsuche

Der Kommaoperator bedeutet, dass in der C-Sprache mehrere Ausdrücke durch Kommas getrennt werden können. Die Werte der durch Kommas getrennten Ausdrücke werden separat abgerechnet, der Wert des gesamten Ausdrucks ist jedoch der Wert des letzten Ausdruck. .

Was ist ein Kommaoperator in C-Sprache und Beispiele?

Der Kommaoperator bedeutet, dass in der C-Sprache mehrere Ausdrücke durch Kommas getrennt werden können und die Werte der durch Kommas getrennten Ausdrücke entsprechend sind wird aufgelöst, aber der Wert des gesamten Ausdrucks ist der Wert des letzten Ausdrucks.

Beispiel:

int a1,a2,b=2,c=7,d=5; // Zeile 1

a1=(++b,c--,d+3); // Zeile 2

a2=++b,c--,d+3; // Zeile 3

Für den Code, der a1 einen Wert zuweist, gibt es drei durch Kommas getrennte Ausdrücke, daher sollte der Endwert der Wert des letzten Ausdrucks sein, der der Wert von (d+3) ist ist 8 , also ist der Wert von a1 8.

Für den Code, der a2 einen Wert zuweist, gibt es auch drei Ausdrücke. Die drei Ausdrücke sind derzeit a2=++b, c--, d+3 (dies liegt daran, dass der Zuweisungsoperator kleiner ist). als das Komma Die Operatorpriorität ist hoch) Obwohl der Wert des letzten Ausdrucks ebenfalls 8 ist, b=4 (wenn die zweite Codezeile abgeschlossen ist, ist b = 3, d. h. wenn die dritte Codezeile ausgeführt wird, der Wert von b ist 4), also a2=4.

Hinweis: Die Assoziativität von Kommaoperationen erfolgt von links nach rechts. Nach Abschluss ist der Wert des gesamten Ausdrucks der Wert des letzten Ausdrucks.

Beispiel: int a[2],x=2,y=5;

a[0]=(x+3,y++,x++);Dann ist das Endergebnis: a[0]=2 x=3 y=6;

Warum a[0]=2: Weil (x++) danach ist die Operation Add

a[1]=(x++,x+3,x+7); und das Endergebnis ist: a[1]=10 ,x=3

Ein weiteres Beispiel für Assoziativität:

int i=24;

int n = (i++,i++,i++,i++); // n == 27

Da die Assoziativität des Kommaoperators von links nach rechts verläuft, werden die vier i++ nacheinander ausgeführt, das letzte i++ wird jedoch erst nach der Zuweisung ausgeführt, sodass am Ende 27 zurückgegeben wird.

Empfohlenes Tutorial: „C-Sprach-Tutorial

Das obige ist der detaillierte Inhalt vonWas ist ein Kommaoperator in C-Sprache und Beispiele?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn