#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; }
编译通过