我需要将递归的char []转换为float变量。我的代码如下:
while(1)
{
//take char[] str as input
sscanf(str,"%f",&n);
//printf n
}
该程序适用于正数。但如果我们最初给出负数 接着是正数,然后n显示不同的输出。
答案 0 :(得分:1)
写在C中,这似乎对我有用。
char* str = "-9 1.1 2 3.1 0.9 .8 -2 -1.1";
float n;
int offset;
while (sscanf(str, "%f%n", &n, &offset) > 0) {
printf("%f,", n);
str += offset;
}
输出-9.000000,1.100000,2.000000,3.100000,0.900000,0.800000,-2.000000,-1.100000,