将字符串转成数字

2015-09-14 23:05:31 -0400
#include <stdio.h>
#include <string.h>
/*
请编写一个函数fun,它的功能是:将一个数字字符串转换为一个整数(不得
调用C语言提供的将字符串转换为整数的函数)。例如,若输入字符串"-1234",则
函数把它转换为整数值 -1234。函数fun中给出的语句仅供参考。
*/
long fun(char *p) {
/* 以下代码仅供参考 */
int i, len, t;
int t1=1;
/* len为串长,t为正负标识 */
long x = 0;
len = strlen(p);
if (p[0] == '-') {
t = -1;
len--;
p++;
} else
t = 1;
/* 以下完成数字字符串转换为一个数字 */
i=0;
while(p[i])
{
x=x*t1+(p[i]-48);//'0'的ascii的码为48
t1*=10;
i++;
}
return x * t;
}
int main(void) { /* 主函数 */
char s[6];
long n;
printf("Enter a string:\n");
gets(s);
n = fun(s);
printf("%ld\n", n);
}
«Newer      Older»
Comment:
Name:

Back to home

Subscribe | Register | Login | 中文 | N