What does a-=a mean in C language?

A-=a means a=a-a, subtract a from a first, and then assign the result to a ...-= is actually an abbreviation to make the change of variables more concise.

When calculating, it can be written in a familiar form and calculated from right to left in turn. Note that the value of the variable changes every time it is calculated. If you don't pay attention, it will lead to mistakes.

Extended data:

There are several kinds of compound assignment operators:

Symbolic function

+= addition assignment

-= subtraction assignment

* = Multiplication assignment

/= division assignment

% = Modular operation allocation

& lt& lt= left shift assignment

& gt& gt= right shift assignment

& amp= bit logic and allocation

| = Bit Logic or Assignment

= Bitwise logical XOR assignment

Reference source: Baidu Encyclopedia-Compound Assignment Operator