¿Está bien definido scanf (“% d% d”, & x, & x)?

¿Está bien definido el siguiente código?

#include <stdio.h>

int ScanFirstOrSecond(const char *s, int *dest) {
    return sscanf(s, "%d%d", dest, dest);
}

int main(void) {
    int x = 4;
    ScanFirstOrSecond("5", &x);
    printf("%d\n", x);  // prints 5

    // Here is the tricky bit
    ScanFirstOrSecond("6 7", &x);
    printf("%d\n", x);  // prints 7
    return 0;
}

En otras palabras, hacer el... argumentos tienen una implicadarestrict a ellos?

La especificación C más aplicable que encontré es

La función fscanf ejecuta cada directiva del formato a su vez. ... C11dr §7.21.6.2 4

Respuestas a la pregunta(3)

Su respuesta a la pregunta