C语言递归的数字转换问题,习题求解

C语言使用递归算法将一个正整数字符串为对应的数值。不得使用循环

c

2个回答

c语言没有默认参数吧,改为:

#include <stdio.h>  
int fun(char *p,int m)
{
    int n=1;
    if(*p)
    {
        n=m*10+*p-'0';
        return fun(p+1,n);
    }
    return m;   
}

void main()
{
    char str[]="1234";
    printf("%d\n",fun(str,0));
} 
 #include <stdio.h>  
int fun(char *p,int m=0)
{
    int n=1;
    if(*p)
    {
        n=m*10+*p-'0';
        return fun(p+1,n);
    }
    return m;   
}

void main()
{
    char str[]="1234";
    printf("%d",fun(str));
}

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问