69,369
社区成员
发帖
与我相关
我的任务
分享
//如何从一组字符串中提取出小数,带小数点的。比如输入wef4.998ueu输出4.998.
#include <stdio.h>
char s[]="ef4.998ue1.2u";
char *p;
int n,k;
double v;
void main() {
p=s;
while (1) {
k=sscanf(p,"%lf%n",&v,&n);
printf("k,v,n=%d,%lg,%d\n",k,v,n);
if (1==k) {
p+=n;
} else if (0==k) {
printf("skip char[%c]\n",p[0]);
p++;
} else {//EOF==k
break;
}
}
printf("End.\n");
}
//k,v,n=0,0,0
//skip char[e]
//k,v,n=0,0,0
//skip char[f]
//k,v,n=1,4.998,5
//k,v,n=0,4.998,5
//skip char[u]
//k,v,n=0,4.998,5
//skip char[e]
//k,v,n=1,1.2,3
//k,v,n=0,1.2,3
//skip char[u]
//k,v,n=-1,1.2,3
//End.