第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

c語言的遞歸問題

c語言的遞歸問題

C C# C++
kathria 2017-03-24 16:29:19
有以下程序#include <stdio.h>void f(int x[], int n){ ?if ( n > 1)?? ?{ ? printf("%d,", x[0]);?? ? ? ?f(&x[1], n-1);? ? ? ?printf("%d,", x[0]);?? ?}? ?else? ? ?printf("%d,", x[0]);}main( ){ ? int z[3] = {4, 5, 6};? ? f(z, 3); ? ?? ? printf("\n");?}程序運(yùn)行后的輸出結(jié)果是A) ?6,5,4,6,5,4,B) ?4,5,6,5,4,C) ?4,5,6,4,5,6,D) ?6,5,4,5,6,誰能解釋一下程序怎么運(yùn)行的,我不能理解這里的遞歸
查看完整描述

3 回答

?
三十二應(yīng)遍塵剎

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)系就行了

查看完整回答
1 反對 回復(fù) 2017-03-26
?
asd8532

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

查看完整回答
1 反對 回復(fù) 2017-03-24
  • kathria
    kathria
    這分別是哪個(gè)x【0】的輸出;使用了else的print嗎
  • asd8532
    asd8532
    傳456,x0就是4 傳56,x0就是5
  • kathria
    kathria
    f(&x[1], n-1); printf("%d,", x[0]); 每執(zhí)行一遍遞歸,下面的print是每次都輸出一次,還是在最后的時(shí)候輸出一次?
  • 3 回答
  • 0 關(guān)注
  • 2179 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號