将一个数字字符串转换为一个整数(不得调用C语言提供的将字符串转换为整数的函数)

来源:百度知道 编辑:UC知道 时间:2024/09/21 02:43:39
将一个数字字符串转换为一个整数(不得调用C语言提供的将字符串转换为整数的函数)例如,若输入字符串“-1234”,则函数把它转换为整数值 -1234

怎么做啊!!正数我会,如果是负数就不性了,到底要怎么做

include <stdio.h>
#include <math.h>
long fun ( char *p)
{
}
main()
{ char s[6];
long n;
printf("Enter a string:\n") ;
gets(s);
n = fun(s);
printf("%ld\n",n);
}

int func(char* s)
{
int retval=0;
int n=1;
if (*s=='-')
{
n=-1;
s++;
}
while (*s!='\0')
{
retval=retval*10+(*s-'0');
s++;
}
return(n*retval);
}

看看刚编的一个函数,如果你没学到指针的话我在用数组给做一个,呵呵

可以用sscanf函数搞定的。没有使用atoi函数。