- because ++ + comes after, the result of x++ expression is x, which is 5, and then x+1, which becomes 6, if the conditions are true, 6
- because after ++ +, x++ is x, which is 5, and then x+ 1, x becomes 6, if that's true, and then printf("%d", x++); Because this plus plus, this x++ expression is going to be 6, and it's going to be 6, but then x plus 1, x becomes 7.
Conclusion: After ++, the value of x++ expression is the value of x at that time. Plus plus, the value of the plus plus x expression, is the value after x plus 1. And then these kinds of problems, you just have to remember that x is always going to be plus 1.