atof函数,atof函数的功能为将输入的字符串转换为对应的浮点数的值。
首先,根据浮点数的特点写的程序。
其次,重复写一些相似,有助于简化思路,比如分数与整数分开写,但是代码相同,在分数中求解了一个标志分数的位power。
#include <ctype.h>
double atof(char s[])
{
double val,power;
int i,sign;
for(i=0;isspace(s[i]);i++)
;
sign=(s[i]=='-')?-1:1;
if(s[i]=='+'||s[i]=='-')
{
i++;
}
for(val=0.0;isdigit(s[i]);i++)
{
val=val*10+(s[i]-'0');
}
if(s[i]=='.')
{
i++;
}
for(power=1.0;isdigit(s[i]);i++)
{
val=val*10+(s[i]-'0');
power*=10;
}
return sign*val/power;
}