Hey guys, can someone please explain what this function is doing? Especially the last part.
int fu2(int *a, int b);
int main()
{
int x = 38953;
int arr[]={4,-5,2,-3,4,-4,6};
printf("%d\n",fu2(arr,7));
return 0;
}
int fu2(int *a, int b)
{
int c=*a;
if(b>1)
c=fu2(a+1,b-1);
return (*a<0 ? (*a>c ? *a :(c<0?c:*a)) : (c<0?c:0));
}