用于浮点数的sscanf迭代循环

时间:2012-10-02 02:27:38

标签: c scanf

我需要将递归的char []转换为float变量。我的代码如下:

while(1)
{
    //take char[] str as input
    sscanf(str,"%f",&n);
    //printf n
}

该程序适用于正数。但如果我们最初给出负数 接着是正数,然后n显示不同的输出。

1 个答案:

答案 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,