#include <iostream>
#include <stdio.h>
using namespace std;
float My_atof(char str[]);
int main()
{
char str[10] = "+34.5";
float num;
num = My_atof(str);
cout<<num<<endl;
return 0;
}
float My_atof(char str[])
{
int i, j, sign, temp = 1;
float val;
for(i = 0; isspace(str[i]); i++);
sign = (str[i] == '-') ? -1 : 1;
if(str[i] == '+' || str[i] == '-')
i++;
for(val = 0; isdigit(str[i]); i++)
val = val * 10 + str[i]-'0';
if(str[i++] == '.')
{
val = val*10 +str[i] - '0';
temp *=10;
}
return val * sign / temp;
}
编译通过