我试图采用"%i /%i%s"并将它们分成三个变量。
char char1[20];
int int1;
int int2;
sscanf(token, "%[^/]/%d", char1, &int2);
printf("%s - %i ", char1, &int2);
它只是段错误。我做错了什么?
我尝试将%d更改为%i,没有区别。
答案 0 :(得分:2)
你不应该在你的printf中打印int2的地址。这对我有用:
const char *token = "qwerasdf/10";
char char1[20];
int int2;
sscanf(token, "%[^/]/%d", char1, &int2);
printf("%s - %i ", char1, int2);
输出:
qwerasdf - 10