[Solved] How will C parse this sentence? [closed]

[ad_1]

It is parsed as:

b = (a++)++ + a;

This is an invalid expression. The increment operator can’t be applied twice as (a++) isn’t an lvalue.

The tokenizer isn’t context-aware and will match the longest token possible, so it is not parsed as the syntactically valid a++ + ++a. (That still would be invalid code, though, since it modifies a twice without a sequence point which invokes undefined behavior.)

7

[ad_2]

solved How will C parse this sentence? [closed]