O scanf ("% d% d", & x, & x) está bem definido?
O código a seguir está bem definido?
#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;
}
Em outras palavras, faça o...
argumentos têm uma implicaçãorestrict
para eles?
A especificação C mais aplicável que encontrei é
A função fscanf executa cada diretiva do formato por sua vez. ... C11dr §7.21.6.2 4