Is this undefined behavior or implementation defined?
===

Is the following undefined or implementation-defined:

     int x = 0;
     printf("%d%d", ++x, x);

The order of evaluating arguments is unspecified, so:

- if `++x` is evaluated first, this prints `11`.
- if `x` is evaluated first, it prints `10`.