This is yet another sequence-point question, but a rather simple one:
#include void f(int p, int) { printf(\"p: %d\\n\", p); } int g(int*
No. It doesn't invoke undefined behavior. It is just unspecified, as the order in which the function arguments are evaluated is unspecified in the Standard. So the output could be 0 or 42 depending on the evaluation order decided by your compiler.
0
42