2017-08-26 2 views

Antwort

-2

In einem C-Quellprogramm, das grundlegende vom Compiler erkannte Element ist die „Token“. Ein Token ist Quelltext, den der Compiler nicht in Komponentenelemente zerlegt.

Grundsätzlich ist += eine abgekürzte Operator, der Compiler es als ein einzelnes Token

Für Ex behandelt:

x+=10; 
x = x + 10; 

Beide oben Codes sind gleiche, in der ersten Zeile des Codes der Compiler wird als ein Token behandelt, wo es in der Sekunde als zwei Token behandelt wird.

Weitere Informationen über Token C tokens

+1

Nein; das ist falsch. '+ =' ist ein einzelnes Token. So ist '>> ='. –

+0

Ich habe meine Antwort bearbeitet –

+4

So sehe ich. Ich bin mir nicht sicher über die Bedeutung von "Compiler bricht es als nur ein Token". Ich denke, ich wäre glücklicher, wenn Sie etwas wie _Denn obwohl '+ =' ein Shorthand-Operator ist, behandelt der Compiler es als ein einzelnes Token._ Beachten Sie auch, dass in einem Kontext wie 'data [i ++] -> member + = 10; 'Das Ergebnis ist nicht dasselbe wie 'data [i ++] -> member = data [i ++] -> member + 10;'. Zumindest ist die '+ =' Version ein definiertes Verhalten und die erweiterte Version nicht. –

3

auf dem C11-Standard nach, §6.4.6 Interpunktionszeichen, die 'Interpunktionszeichen' in C:

[ ] () { } . -> 
++ -- & * + - ~ ! 
/% << >> < > <= >= == !=^| && || 
? : ; ... 
= *= /= %= += -= <<= >>= &= ^= |= 
, # ## 
<: :> <% %> %: %:%: 

Wie Sie sehen können, += eines von die Interpunktionszeichen - es ist ein einzelnes Token.

Verwandte Themen