我必须用C语言编写函数atof(),但只使用指针和代码的"骨架"必须如下所示:
#include <stdio.h>
#define SIZE 1024
float atof(char* s){
//here comes the code
}
int main(){
float f;
char a[SIZE];
scanf("%s", a);
f = atof(a);
printf("atof(\"%s\") = %f\n", a, f);
return 0;
}
有什么主意吗?
我试过这个:
char integer_part[SIZE], decimal_part[SIZE];
while(*s != '.'){
*integer_part += *s++;
*integer_part -= '0';
}
return *integer_part;
预期代码会将字符串转换为浮点数.例如:atof("12")=12, Atof("123.456")=123.456,atof("-123.456")=-123.456,atof("-123.456e2")=-12345.6, Atof("-123.456e-2")=-1.23456