在线求答~~~~~~~~~关于字符串转换为整数的问题
m0792 2006-04-09 10:44:26 我用
#include<stdio.h>
#include<string.h>
void main()
{
char str[5];
char *s=str;
long t=0;
gets(str);
while(*s!='\0')
{
t=t*10+(*s-48);
s++;
}
printf("%ld",t);
return ;
} //可以得到答案
但是我在用了递归调用不能得到答案
#include<string.h>
#include<stdio.h>
long f(char *s)
{
long t=0;
if (*s=='\0')
return 0;
else
{
t=t*10+(*s-48);
f(s+1);
}
return t;
}
void main()
{
long a;
char str[5];
char *s=str;
gets(str);
a=f(s);
printf("%ld",a);
return;
}//如果输入123 却达到是1
为什么
谢谢给予解答!