//编写一个函数,将一个数字字符串转换成这个字符串对应的数字(包括正浮点数、负浮点数)
#include<stdio.h>
#include<math.h>
double my_atof(char *str)
{
int b = 0;
int flag=0;
int count = 0;
int reselt = 1;
double num = 0;
while(*str != '\0')
{
if(*str == '+')
{
*str++;
}
if(*str == '-')
{
reselt = -1;
*str++;
}
if(*str == '.')
{
flag = 1 ;
*str ++;
}
if(*str >= '0' && *str <= '9')
{
num = num*10 + (*str - '0');
if(flag == 1)
{
count ++;
}
}
*str++;
}
num = reselt*(num /pow(10,count));
return num;
}
int main()
{
char *p=" -12 .3 4 ";
double ret = my_atof(p);
printf("%f\n",ret);
return 0;
}