Является ли scanf («% d% d», & x, & x) хорошо определенным?
Правильно ли определен следующий код?
#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;
}
Другими словами, сделать...
аргументы подразумеваютrestrict
им?
Наиболее применимая C-спецификация, которую я нашел,
Функция fscanf выполняет каждую директиву формата по очереди. ... C11dr §7.21.6.2 4