atof函数:把字符串s转换为相应的双精度浮点数
#include <ctype.h>
/* atof函数:把字符串s转换为相应的双精度浮点数 */
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 = 10.0 * val + (s[i] - '0');
if(s[i] == '.')
i++;
for(power = 1.0; isdigit(s[i]); i++){
val = 10.0 * val + (s[i] - '0');
power *= 10.0;
}
return sign * val / power;
}
简单计算器程序
#include <stdio.h>
#define MAXLINE 100
/* 简单计算器程序 */
main()
{
double sum, atof(char []);
char line[MAXLINE];
int getline(char line[], int max);
sum = 0;
while(getline(line, MAXLINE) > 0)
printf("\t%g\n", sum += atof(line));
return 0;
}
atoi函数:利用atof函数把字符串s转换为整数
/* atoi函数:利用atof函数把字符串s转换为整数 */
int atoi(char s[])
{
double atof(char s[]);
return (int)atof(s);
}
1308

被折叠的 条评论
为什么被折叠?



