一个简单的C 递归问题谢谢

来源:百度知道 编辑:UC知道 时间:2024/05/19 14:32:07
#include<stdio.h>
int b(int n)
{int a;
if(n=1)
return 1;
else a=2*b(n-1)+1;
return (a);
}
void main()
{int n=3,a;
a=b(n);
printf("%d",a);
}
我这程序哪错了怎么老输出1 我想让它输出7

看样子像求阶乘,3的阶乘是6啊

如果是求阶乘,就这样:
#include<stdio.h>
int b(int n)
{

if(n==1) //==
return 1;
else
return n*b(n-1);
}
void main()
{
int n=3,a;
a=b(n);
printf("%d",a);
}

如果不是,再问我