【问题标题】:sscanf iterative loop for float numbers浮点数的 sscanf 迭代循环
【发布时间】:2012-10-02 02:27:37
【问题描述】:

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

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

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

【问题讨论】:

    标签: c scanf


    【解决方案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,

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-10
      相关资源
      最近更新 更多