递归问题c,怎么运行一下就消失了,看不到结果?????????

来源:百度知道 编辑:UC知道 时间:2024/05/13 19:25:30
#include<stdio.h>

int max(int a[],int k)
{

if(k==2)return(a[0]>a[1]?a[0]:a[1]);
else return max(max(a,k-1),a[k]);

}

main()
{ int t, b[]={1,2,3,4,5,6,7,8};
t=max(b,8);
printf("%3d",t); getch();
}

在前面加#include <conio.h>
在最后加getch();
就能看到结果了
看不到结果应该不会,但是这个程序是有点问题,应该编译不通过
else return max(max(a,k-1),a[k]);
这一句的第一个参数应该是int*型的,而max(a,k-1)却是int型的,不知道你的情况到底怎样