【发布时间】:2012-10-02 02:27:37
【问题描述】:
我需要将 char[] 递归转换为浮点变量。我的代码如下:
while(1)
{
//take char[] str as input
sscanf(str,"%f",&n);
//printf n
}
该程序适用于正数。但是如果我们最初给出负数 后跟正数,然后 n 显示不同的输出。
【问题讨论】:
我需要将 char[] 递归转换为浮点变量。我的代码如下:
while(1)
{
//take char[] str as input
sscanf(str,"%f",&n);
//printf n
}
该程序适用于正数。但是如果我们最初给出负数 后跟正数,然后 n 显示不同的输出。
【问题讨论】:
用 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,
【讨论】: