我正在尝试以%I/%I%s的格式获取令牌,并将它们拆分为三个变量。
char char1[20];
int int1;
int int2;
sscanf(token, "%[^/]/%d", char1, &int2);
printf("%s - %i ", char1, &int2);
它只是一个断层。我做错什么了?
我试着把%d改成%I,没有区别。
最佳答案
您不应该在printf中打印int2的地址。这对我有用:
const char *token = "qwerasdf/10";
char char1[20];
int int2;
sscanf(token, "%[^/]/%d", char1, &int2);
printf("%s - %i ", char1, int2);
输出:
qwerasdf - 10