return t>a[n-1]?t:a[n-1];}
意思是將t與a[n-1]進行比較,如果t大,則return t的值,如果t小於或者等於a[n-1]那麽則return a[n-1]的值。
n=9進入f,因為9>1,所以進入{
int t;t=f(a,n-1);
return t>a[n-1]?t:a[n-1];}這裏咱們先把這個t記為t9,也就是t9=f(a,9-1)
第壹步的t=f(a,8);將8帶入f,因為8>1因此同樣進入{
int t;t=f(a,n-1);
return t>a[n-1]?t:a[n-1];}這裏咱們先把這個t記為t8,也就是t8=f(a,8-1)以此類推
以此循環,直到n=2的時候,因為n-1=1是不大於1了,所以進入下邊的else語句,返回a[0]的值,也就是8.
我們從第二步可知,t2=f(a,2-1),也就是t2=8;進入return t>a[n-1]?t:a[n-1];}判斷,由於a[2-1]是2,所以return t,也就是8;
這樣依次比較,只要沒8大都return8,在a中,只有9比8大,所以f(a,9)的值是9.
這個函數就是壹個從a中找最大值的函數