能给我解释一下c语言程序问题吗?
最开始定义的函数是Display(char** Array)
最后为什么是{ Display(Array+1); printf("%s ",*Array); }
为什么要引用这个加一,程序才能正常运行?
#include <stdio.h>
void Display(char** Array);
char *A[]=
{
"5",
"4",
"3",
"2",
"1",
"0"
};
void main()
{
Display(A);
}
void Display(char** Array)
{
if (*Array=="0")
{
return;
}
else
{
Display(Array+1);
printf("%s ",*Array);
}
}
这个程序用的是递归法反向输出数组
函数的基本公式是
f(n)=f(n+1)
递归终止条件为:*Array=="0"
所以在递归函数中,要用Array+1(表示继续下一个)
上一篇:如何让自己好好学习
热门标签: