我有一个简单的学习功能:
#include<stdio.h>
void func1(int i){
if(i == 6) return; // Base Case
printf("%d ", i);
func1(i + 1);
printf("\nEnd1");
}
int main()
{
func1(1); // *
return 0;
}
func1() *没有输入。
我继续收到: 这个输出(!!!?): 1 2 3 4 5 结束1 结束1 结束1 结束1 结束1
终端没有错误
$ cd "/e/Prog_Lang/Module/" && gcc recur_pnt1_5.c -o recur_pnt1_5.exe && "/e/to Prog_Lang/Module/"recur_pnt1_5.exe
我不知道我能尝试解决什么问题。 有什么想法吗?
您没有获得预期的输出,因为代码使用的逻辑不支持该输出。请注意
func1()
逻辑上的小变化:
#include<stdio.h>
void func1(int i)
{
if(i == 6)
{
printf("End1\n");
return;
}
printf("%d ", i);
func1(i + 1);
}
int main()
{
func1(1); // *
return 0;
}
输出:
1 2 3 4 5 End1