The ++ operator's location in a statement influences the outcome. Both a++ and ++a are legal, and both will ultiamtely give the same result. The question is,
at what point will they give the same answer.
Given the example:
b will equal 1, while c will equal 2.
Now with that line of reasoning alone, you might expect the result to be 1,2 instead of 1,3 in the example you provided. But before we get to that, the more important point, certification or not, is that statements like b = b++ + b are just a bad idea. They're confusing and they make for stimulating exams, but they're not in there to be learning points. They're in there because C syntax leaves us a certain legacy that makes this klind of statement legal.
Having said that, read
the JLS on the order of evaluation. It's well written, and will get you started on looking at the source of definitions rather then relying on everyone else's summary of them.