源代码如下
#include <stdio.h>
#define clod 5
void change(int *p,int n);
int num[clod]={2,2,3,4,6};
int main(void)
{
//int *p;
//p=num;
change(num,-1);
}
void change(int *p,int n)
{
if(n<4)
{
change(p,++n);
printf("%d\t",*(p+n));
}
}
问题:
我的数组为5位,按理说递归中的n应该小于5才能正确输出5个数,但是当我n为5时,首位会多一位0,判断是p[5]未知数,改为n=4时,正确输出倒叙,是为啥?