可以。
假定 a 是 字符串形式 123_45_6789
可以通过 sscanf() 读出:
b=123 c=45 d=6789
假定 A 是 字符串形式 12.3_-4.5_67.89
可以通过 sscanf() 读出:
B=12.3 C=-4.5 D=67.89
程序如下:
#include <stdio.h>
int main()
{
char a[]="123_45_6789";
int b,c,d;
char A[]="12.3_-4.5_67.89";
float B,C,D;
sscanf(a,"%d_%d_%d",&b,&c,&d);
printf("%d %d %d\n",b,c,d);
sscanf(A,"%f_%f_%f",&B,&C,&D);
printf("%g %g %g\n",B,C,D);
return 0;
}
追问那能不能这样处理用户输入的字符串?
追答不能。可以改一下:
#include
#include
int main()
{
char a[]="123_45_6789";
char b[8],c[8],d[8];
int i;
for (i=0;i<strlen(a);i++) if (a[i]=='_') a[i]=' ';
sscanf(a,"%s %s %s",b,c,d);
printf("%s %s %s\n",b,c,d);
return 0;
}