以下代码是否定义良好?
#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;
}
Run Code Online (Sandbox Code Playgroud)
换句话说,这些...论点是否暗示restrict了它们?
我发现最适用的C规范是
fscanf函数依次执行格式的每个指令.......C11dr§7.21.6.24