3 回答

TA貢獻(xiàn)22條經(jīng)驗(yàn) 獲得超7個(gè)贊
void f(int x[], int n)
{ ?if ( n > 1)?
? ?{ ? printf("%d,", x[0]);?
? ? ? ?f(&x[1], n-1);
? ? ? ?printf("%d,", x[0]);?
? ?}
你應(yīng)該是f(&x[1],n-1);這里的遞歸調(diào)用有疑惑吧,其實(shí)數(shù)組在內(nèi)存中是以指針的形式存在的,int x[],數(shù)組名x代表了它的首地址,&是取地址符,&x[1],就是這個(gè)數(shù)組中第二個(gè)元素的地址,依次類推!如果這個(gè)你知道那也沒啥難得了吧,如果看不懂,請你看一看數(shù)組與指針的關(guān)系就行了

TA貢獻(xiàn)143條經(jīng)驗(yàn) 獲得超187個(gè)贊
傳4,5,6和3進(jìn)去輸出x[0]和x[0],兩個(gè)x[0]中間調(diào)用遞歸,所以兩個(gè)4中間有一些輸出輸出4.。。。。。4
傳5,6和2進(jìn)去輸出x[0]和x[0],兩個(gè)x[0]中間調(diào)用遞歸,所以兩個(gè)5中間有一些輸出4 5.。。。5 4
6和1進(jìn)去,直接輸出6然后退出4 5 6 5 4
- 3 回答
- 0 關(guān)注
- 2179 瀏覽
添加回答
舉報(bào)