use*_*075 2 c parsing pointers input scanf
我是第一次学习C语言.
我有一个指向一个名为goalie_stat的字符串的指针(见下文).我如何使用scanf来解析保存百分比,即933,然后将933分配给变量然后最终打印出来?
char *goalie_stat = "PatRoy 2.28 933 35 12 165 199 4 5500"
char save_p = scanf("%[13-15]", goalie_stat);
printf("%s", save_p);
Run Code Online (Sandbox Code Playgroud)
'933'是字符串的第13,14和15个字符,但我知道这是不正确的
您应该sscanf用于解析字符串,而不是scanf:
int num;
sscanf(goalie_stat, "%*s %*s %d", &num);
printf("%d", num);
Run Code Online (Sandbox Code Playgroud)
应该做的伎俩!%*s读取并丢弃第一个单词,goalie_stat第二个单词%*s读取并丢弃下一个单词(2.28). %d然后读取第三个数字并存储它num.
您还应该检查返回值sscanf以查看它是否成功.