这段代码怎么分析呀,有关数组和指针的


int fun (int*a,int n)
{int *p,*s;
for(p=a,s=a;p-a<n;p++)
if (*p>*s) s=p;
return*s;
}

第4行:定义一个循环,将参数指针a的值赋给p,s指针,定义循环条件是否小于从a开始到a+n之间的数的个数
第5行:如果当前数的值大于前面的数就把最大数值赋给s指针。
如此循环从a到a+n
循环结束后返回s指针所指向的值,也就是a到a+n之间的最大值

找出a到a+n的范围内的最大值,将这个值传给指针s