1樓:聽不清啊
這是因為題目採取了一個遞迴函式。當引數值小於字元5的時候就先進行遞迴呼叫。只有當引數等於字元5的時候才進行輸出。然後逐級返回,這樣就形成了543210的輸出。
2樓:最大的寶寶
遞迴相當於一個分層的呼叫:
0) 先分析recur(0)。先假設recur中沒有if語句,那麼recur(0)將輸出兩個0。現在有了if,則**會變成:
0; recur(1); 0;
1) 同樣如上分析recur(1),則它執行的是。
1; recur(2); 1;
如同數學上的代入一樣,把0)中的recur(1)換成1)中的**,有。
0; 1; recur(2); 1; 0;
依次recur(c),直到c=5,就得到了黑板上的數值。
小結一下讀遞迴的方法:
1、弄清遞迴函式recur“當前層”的功能(比如有什麼輸出),不要著急反覆遞迴。
2、recur(char c) 的引數是傳值的,不會影響當前層的c,所以我可以在分析時毫不猶豫地寫出當前層的兩個cout的結果,如果出現傳地址的引數,在分析上就要更加謹慎。
有的書講遞迴,不從大局出發,就直接細講到了堆疊的變化,恐怕會把人搞得更懵。
一道c++題目,求詳解
3樓:匿名使用者
第四個不對 第一個呼叫時 傳遞給a的值是0 其他兩個是常量 第二個道理一樣 第三個 沒有引數傳入 系統自動賦值a為0
4樓:緣來丶緣淺
在這個題目中,在提供的方法中有三個引數,其中b和c都是有預設值的,a沒有,所以,按照選項看下來,test(0),這個是將a = 0,由於沒有給出b, c,它們將使用預設值,合法。
執行截圖:test(0, 0),會將a = 0,由於給出了b引數的值,所以,b將不再使用預設值,二是b = 0,合法;
執行截圖:test(),沒有對引數a賦值,而a又沒有預設值,不合法;
執行截圖:test(0, 0, 0),a = 0,b和c都將不是用預設值,而是進行賦值b = 0, c = 0,合法。
執行截圖:這條題目主要考察的是函式呼叫的引數賦值和引數預設值,看見樓下好像解釋錯了,所以貼上執行結果,其中,將引數的值輸出,有圖有真相。
一道c++題目,求詳解
5樓:班長龍龍
a 答案 :this指標是在指向類成員本身,但是友元函式並不在類裡面,而是在類外面。
b 答案 :友元函式不能直接訪問類的成員,只能訪問物件成員。所以在實參時要給出訪問的物件。
c 答案 :一個類的成員函式也可以作為另一個類的友元,但必須先定義這個類。
d 答案 :必須在類的說明中說明友元函式,說明時以關鍵字friend開頭,後跟友元函式的函式原型,友元函式的說明可以出現在類的任何地方,包括在private和public部分; 所以d答案是錯誤的。
一道c++題目,求詳解
6樓:網友
a char str //這裡沒指定長度,就可以由後面的初始化數目決定,所以是對的。
b char str[2];長度為2,而後面初始化個數為3,超過陣列長度了。
c char str[2][3]:這是兩行三列的陣列,而後面的初始化為三行兩列,當然錯誤了。
d char str():這樣是宣告函式,故後面的賦值當然是錯的。
7樓:匿名使用者
;//n必須大於等於3,};n必須大於等於。
d:沒有這種寫法。
8樓:網友
b,定義包含兩個元素,定義了三個 錯誤。
c,定義兩個包含三個元素的陣列 應該是{a,b,c},{a,b,c}
d,是函式定義,該用[ ]
9樓:我能
b中char str[2]表示定義長度為2的字元陣列,而後面對其進行賦初值賦了三個值,故錯。
c中charstr[2][3]表示定義行數為2,列數為3的二維字元陣列,而後面定義時行數為3(裡面有3個小括號),故錯。
d中char str()無此形式。
詳解英語選擇題,這道題為什麼選C
後面那句話是修飾debt,而不是修飾he.所以刪除b有片語為 in situation即 在什麼樣的局面或情況中而沒有on situation 所以,ad不對 希望滿意 首先是非限制性定語從句,whose指代人,排除b。in this that situation是固定片語,排除 a d。所以選c ...
求問這道題怎麼做,請詳解,這道題裡面break和continue都是什麼作用
這題,明白是這個結果,關鍵的地方有三點,1 讀懂for迴圈2 瞭解這裡的自加運算子3 熟悉continue break語法首先從第一點開始分析 老實說,這裡完全是為了考你對for的掌握程度,是否真的理解了。通常實際開發,不會這麼缺心眼的寫法。標準寫法,for的三個條件都會給你。即for 初值,條件,...
初學者問題這道C語言題答案是是什麼?請解釋一下,謝謝了
選a,k是先計算k k 1,然後才使用k的值,第一次判斷時,k 4,第二次判斷時,k 0,不執行迴圈體,迴圈結束。c語言初學者問題? 兩種辦法,1,使用scanf s,這是scanf的安全版本,需要一個引數限制最多讀取的位元組數,例如最多讀取double型別大小的那麼多位元組數 2,在工程屬性的前處...