sscanf 格式化和输出限额

sscanf formatting and output allowances

我正在尝试理解 sscanf 格式。它可以将 C 字符串数组输出到(下面的代码给出了一个段错误,这就是问题所在)?此外,当尝试仅使用字符串的特定字符时,格式 %[abc]s 其中 abc 是要保留的字符集吗?

char s[] = "This is a 345.454 test";
char str[6][256];
double f;
sscanf(s,"%s %*s %*s %f %s",s[0],f,s[1]);
for(int i=0; i<2; i++)
    printf("%s\n",s[i]);

s[0] 是一个字符,但您将其与 %s 格式匹配,该格式需要一个字符串(字符的 地址 ,解析值应该去的序列中的第一个)。

重写sscanf行如下-

sscanf(s,"%s %*s %*s %lf %s",str[0],&f,str[1]);
                                    ^address of float variable required

并在 for loop 中打印数组 str 的值。

在此处查看工作代码-https://ideone.com/hFpvDJ