What does the operation c=a+++b mean?

It's parsed as c = a++ + b, and a++ means post-increment, i.e. increment after taking the value of a to compute a + b == 2 + 5.

Please, never write code like this.


Maximal Munch Rule applies to such expression, according to which, the expression is parsed as:

c = a++ + b;

That is, a is post-incremented (a++) and so the current value of a (before post-increment) is taken for + operation with b.


a++ is post incrementing, i.e. the expression takes the value of a and then adds 1.
c = ++a + b would do what you expect.


This is an example of bad programming style.

It is quite unreadable, however it post increments a so it sums the current value of a to b and afterwards increments a!