c语言函数无返回值可以递归使用吗?

 我来答
ziluzh
推荐于2016-11-13
知道答主
回答量:4
采纳率:0%
帮助的人:6.3万
展开全部

可以啊,可以用静态变量,或是指针型变量

void cho(int *p)
{
    if(*p<10)
    {
        *p+=1;
        cho(p);
     }
 }
更多追问追答
追问

我想要用*输出一个直角三角形

例如下面这个

*****

****

***

**

*

为什么输出的是*****呢?

追答
我看看,你这个程序出现死循环了
#include

void haha(int n)
{
int static i; //没必要静态
for(i=1;i1)
haha(n-1);
}

int main()
{
int a;
scanf("%d",&a);
haha(a);
return 0;
}

如果按你写的给形参赋值,那就没必要写形参了,形参值改变不会使主函数中被传递值得变量发生改变
mafangsan
2015-11-30 · TA获得超过1.2万个赞
知道大有可为答主
回答量:1万
采纳率:71%
帮助的人:2620万
展开全部
可以的,例如排序就可以递归,但是不用返回值
追问

我想用*输出一个直角三角形

例如

*****

****

***

**

*

可是输出的是下面这个?

为什么呢?

追答
把scanf那句放入main函数
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
51CTO学院
2015-11-30 · 中国最大的IT实战在线培训平台
51CTO学院
中国最大的IT实战在线教育培训平台。
向TA提问
展开全部
可以的。
举例如下:
void solve(int n)
{
if(n==0) return;
printf("aaaa\n");
solve(n-1);
}
更多追问追答
追问

我想用*输出一个直角三角形

例如

*****

****

***

**

*

可是输出的是下面这个?

为什么呢?

追答
逻辑不对啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式