说明算法的功能是什么?怎么算出来递归的结果?

int unknown ( int A[ ], int n ) {

      int temp;

if ( n == 1 ) return A[0];

      temp = unknown ( A, n-1 );

       if (temp>A[n-1]) return temp;

else return A[n-1];

}

功能就是找你输入数组中的最大元素

用数学归纳法来解释:
对于一个数组求最大值的方法:
如果只有一个元素,返回它自己。因为只有一个,所以肯定它最大。if ( n == 1 ) return A[0];
如果有多于一个元素,返回最后一个元素和前面所有元素中更大的那个。
if (temp>A[n-1]) return temp; else return A[n-1];
而前面所有元素中最大的可以用unknown ( A, n-1 )表示。