C语言程序输入不了,也不能输出

#include<stdio.h>
void fa(int a[],int n)
{int max(int a[],int n);
int c,i;
int *p;
p=&a[0];
c=max(p,n);
a[0]=(c-a[0])/2+1;
}
int max(int a[],int n)
{
int c,i;
c=a[0];
for(i=0;i<n;i++)
{
if(a[i]>c)
c=a[i];
}
return c;
}
int main()
{
void fa(int a[],int );
int max(int a[],int );
int b=0,u=0,i,x,n,t[10005];
scanf("%d\n",&n);
for(i=0;i<n;i++)
{
scanf("%d ",&t[i]);
}
u=t[0];
while(t[0]!=max(t,n))
{
fa(t,n);
}
b=t[0]-u;
printf("%d",b);
return 0;
}

while(t[0]!=max(t,n))
{
fa(t,n);
}
这一段,当t[0]不是最小值时,执行fa函数:t[0]=(c-t[0])/2+1
再判断t[0]=max?否,回到第一步。
极易出现死循环。
并且很难看出这个程序是来干嘛的。
温馨提示:答案为网友推荐,仅供参考
相似回答