Why are these constructs using pre and post-increment undefined behavior? Why are these constructs using pre and post-increment undefined behavior? c c