回复 “深圳一公司招聘题”
#define N 10
main()
{int i,a[N];
int judge(int *p);
printf("Enter your data \n");
for(i=0;i<N;i++)
{ scanf("%d",&a[i]); }
judge(a) ? printf("YES") : printf("NO") ;
getch(); /* 请不要删除此行 */
}
int judge(int * p)
{ static i=1;
if(i<N)
{ if(p[i]<p[i+1])
{i++;judge(p);}
else return(0);
}
else return(1);
}
----------------解决方案--------------------------------------------------------
以下是引用herotobe在2006-5-6 19:52:00的发言:
int judge(int * p)
{ static i=1;
if(i<N)
{ if(p[i]<p[i+1])
{i++;judge(p);}
***************************
如果main()里面还有第二个数组等你去判断呢?
所以要调用完毕,设法让 i 回到1。
----------------解决方案--------------------------------------------------------
if(i<N)
叔祖下表过了
----------------解决方案--------------------------------------------------------
static i=1;
----------------解决方案--------------------------------------------------------
以下是引用herotobe在2006-5-6 20:42:00的发言:
static i=1; <===正因为它是static,所以它变化后就回不到1上来啦。除非您对static属性还不够熟悉。
static i=1; <===正因为它是static,所以它变化后就回不到1上来啦。除非您对static属性还不够熟悉。
----------------解决方案--------------------------------------------------------