主题:这有段错误?
//这个道题的题目是:用递归的方法求一个有n个元素的int型数组的最大值。编译成功了,可是,在运行时出现了段错误,还有,我用gcc进行调适的时候,会从for(1=0,b=0;b==1;i++)直接出来了,不进去,很是不明白,大家看看吧:
#include<stdio.h>
int max;
int get(int a[],int i)
{
max=a[i]>a[i-1]?a[i]:a[i-1];
i--;
max=get(a,i);
if (i==0) return max;
}
main()
{
int a[40],b=0,num,i;
printf("请您输入一堆的数值吧,让我来看看哪个最大,下面就输入吧,不过要记得,当您认为,不想再输入时,就输入:00吧");
for(i=0;b==0;i++)
{
scanf("%d",&a[i]);
if(a[i]==00) b=1;
}
max=get(a,i);
for(i=0,b=3;b==3;i++)
{
if(max==a[i]) num=i;b=2;
}
printf("您这堆数中的最大的为第%d个的%d",num,max);
}
#include<stdio.h>
int max;
int get(int a[],int i)
{
max=a[i]>a[i-1]?a[i]:a[i-1];
i--;
max=get(a,i);
if (i==0) return max;
}
main()
{
int a[40],b=0,num,i;
printf("请您输入一堆的数值吧,让我来看看哪个最大,下面就输入吧,不过要记得,当您认为,不想再输入时,就输入:00吧");
for(i=0;b==0;i++)
{
scanf("%d",&a[i]);
if(a[i]==00) b=1;
}
max=get(a,i);
for(i=0,b=3;b==3;i++)
{
if(max==a[i]) num=i;b=2;
}
printf("您这堆数中的最大的为第%d个的%d",num,max);
}