请教各位高手我这两题错在哪里?
1、编写一个函数fun,要求将一个数字字符串转换为一个整数(不能调用c提供的字符串转换为整数的函数)。例如,如输入字符串“-1234”,则函数把它转换为整数值-1234。
#include "stdio.h"
#include "string.h"
long fun(char *p)
{
long s=0,t;
int i=0,n=strlen(p),k,sl;
if (p[0]=='-')
i++;
for (j=i;j<=n-i;j++)
{
t=p[j]-'0';
sl=10;
for (k=j;k<n-i;k++)
t*=sl;
s+=t;
}
if (p[0]=='-')
return -s;
else
return s;
}
main()
{
char s[6];
long n;
printf("Enter a string:\n");
gets(s);
n=fun(s);
printf("ld\n",n);
}