求助一个C语言递归的问题
本帖最后由 luanshils 于 2020-2-20 09:17 编辑void digui(int num)
{
if (num <= 0)
{
printf("停止\n");
return ;
}
else
{
printf("执行\n");
return digui(--num);//明白了,弄错变量了
}
}
void main()
{
digui(1);
getchar();
}
总结出几个问题,一个是变量弄错了,num弄成 n了,然后自减应为前自减,否则如果是后自减会死循环 # include <stdio.h>
void Func(int n);//函数声明
int main(void)
{
int n;
printf("想输出几个我爱你:");
scanf("%d", &n);
Func(n);
return 0;
}
void Func(int n)
{
if (n > 0)
{
printf("i love you\n");
Func(n-1);
}
else
{
return ;
}
}
请参考这个 本帖最后由 luanshils 于 2020-2-20 09:27 编辑
15797909155 发表于 2020-2-20 09:13
# include
void Func(int n);//函数声明
int main(void)
好的,收到 n没有定义,不是变量 15797909155 发表于 2020-2-20 09:14
n没有定义,不是变量
应该是我弄错了变量,我再试试 你定义的是一个num 15797909155 发表于 2020-2-20 09:15
你定义的是一个num
生疏了,有时候定义的是num,自己心里想的是n
谢谢 15797909155 发表于 2020-2-20 09:13
# include
void Func(int n);//函数声明
int main(void)
解释好清楚 Dream_G 发表于 2020-2-20 10:04
解释好清楚
写好注释是每个程序员应该做的事 谢谢分享!!
页:
[1]