c語言中巢狀呼叫和遞迴呼叫的區別

2021-12-23 03:26:14 字數 1713 閱讀 1137

1樓:諾諾百科

一、作用不同:

函式巢狀允許在一個函式中呼叫另外一個函式,比如有三個函式 例:funca() funcb() funcc() {cout << "hello" <遞迴呼叫是一種解決方案,在程式中,遞迴函式的限制條件就是變數quotient為零。在每次遞迴呼叫之前,我們都把quotient除以10,所以每遞迴呼叫一次,它的值就越來越接近零。

當它最終變成零時,遞迴便告終止。

二、含義不同:

巢狀呼叫,就是函式裡面呼叫函式,呼叫的是誰沒關係,都屬於巢狀。

遞迴呼叫,就是函式呼叫本身。

三、呼叫方式不同:

巢狀呼叫說的是呼叫其它函式。

遞迴呼叫是指自己呼叫自己。

2樓:房思博

巢狀呼叫就是某個函式呼叫另外一個函式遞迴呼叫是一個函式直接或間接的呼叫自己舉幾個例子a呼叫b(巢狀)b呼叫c(巢狀)a呼叫a(遞迴)a呼叫b b呼叫a (遞迴)a呼叫b b呼叫c c呼叫a (遞迴)

3樓:植木舞

巢狀呼叫這個詞我沒聽過,不過感覺你的理解應該是正確的,就是函式在呼叫函式,這也沒什麼可稀奇的。至於遞迴,一般只一個函式呼叫它本身。當然不是沒完了,會通過條件限制最終會結束的比如int fun(int a)這是那個求臺階走法的函式。

你可以先不管功能,你看遞迴的過程中引數會越來越小,知道1和2,而1和2是直接出結果的,而不是呼叫函式,這樣遞迴就能結束了。如果沒有條件限制的自己呼叫自己那不是遞迴那是死迴圈。

1、以下對c語言函式的有關描述中,不正確的描述是: a、c函式既可以巢狀定義又可以遞迴呼叫 b、函式必須有

4樓:匿名使用者

1、abc。

解析:a、c函式不可以巢狀定義。b、定義成void型別的函式沒有返回值。c、不必要放在同一源程式,只要分別編譯後連線起來則可。d、單向的值傳遞,只能從實參到形參

2.abcd

解析:都對啊

4.acd

解析:列數(二維陣列中第二個下標)不能省略,行數可以自動匹配的5.cd

解析:a.不能給字元型陣列元素賦字串元素,b.陣列長度為5,實際元素為6個,長度超出

5樓:

1、abcd。理由:a、c函式不可以巢狀定義。

b、定義成void型別的函式沒有返回值。c、不必要放在同一源程式,只要分別編譯後連線起來則可。d、引數值可以傳回給實參,函式引數的回傳是一種技術。

2、如果說「合法」是以能通過編譯為標準的話,abcd都是正確的,其中d涉及到型別轉換。

必須注意c**中的符號都是半形的!

4、acd都是正確的。陣列的最高維數可以省略。顯然b違反此規則。a詭異了一點但還是正確的,編譯器能正確匹配。

5、cd正確。a型別不匹配。b初始化列表的元素數目超出了定義。

6樓:匿名使用者

1.b因為void函式就沒有返回值。

2.abd不能將一個字串直接付給字元陣列。

4.a 因為在定義二維陣列時只能省略第一個下標或都不省。

5.d,因為a.c與第二題原因一樣,b維數要大於5,

7樓:

1.abc

2.abcd

3.acd

4.acd

5.acd

8樓:

1c,2c,4b,5b

c語言呼叫exe檔案的問題,c語言問題,呼叫exe檔案

有個api函式可以直接呼叫 shellexecute null,null,d test.ext null,null,null 其中第3個引數就是 exe程式的絕對路徑.yourexe.exe d 假設你命令列接受這樣的選項比如 d system yourexe.exe d 被呼叫的程式如果需要有輸入...

c語言程式設計 編寫遞迴函式fac 求n!,呼叫該函式求s

include int fac int n int main void printf 1 2 n d n sum return 0 int fac int n int fac int n int fun int n c 程式設計題 編寫函式實現求n!主程式要求輸入n的值,用函式呼叫的方式求n!的值 ...

C語言中怎樣呼叫系統時間並動態顯示

include include void main include 必須的時間函式標頭檔案。time t 時間型別 定義 struct tm 時間結構,定義如下 int tm sec int tm min int tm hour int tm mday int tm mon int tm year ...