c語言中「函式的定義不可以巢狀,但函式的呼叫可以巢狀」是什麼意思最好能舉例子說明!謝謝

2021-04-17 18:17:09 字數 987 閱讀 6148

1樓:匿名使用者

函式的定bai義不可以巢狀du

定義函zhi數a

void a() //定義a函式dao

},這是不對的,

但函式的呼叫

專可以嵌屬套

在主函式中呼叫x函式,x函式在呼叫y函式

void y() 定義y函式

void x() 定義x函式

void main()

2樓:放縱思想

首先你要明白函式的「定義」和「呼叫」各是什麼意思。

「函式的呼叫可以巢狀」這種說法不太準確,應該是說函式之間可以互相呼叫,

即a函式可以呼叫b函式,b函式可以呼叫a函式。

3樓:匿名使用者

函式的定義不可copy

以巢狀定義函bai數dua

void a() //定義a函式

},這是不對的,zhi

但函式的調

用可以巢狀

在主dao函式中呼叫x函式,x函式在呼叫y函式void y() 定義y函式

void x() 定義x函式

void main()

4樓:丁家宜大寶

所謂的定義bai函式就du是在一個函式外宣告一個zhi函式 可以是函式頭dao 如int fun(int ,int )屬於函式聲版明

函式體可權以在後來再輸入 但是一定要先宣告再使用 所謂不能巢狀定義就是不能再一個函式體(任何一個函式)內部宣告一個函式 比如在main函式內就不能有int fun(int ,int )定義 這樣是錯誤的

一個程式是從main函式開始的 也是從main函式結束的 這樣在main函式內呼叫其它函式就不矛盾了 如printf就是一個函式 被呼叫了 屬於巢狀呼叫

巢狀呼叫可以舉個n的階乘的例子

int fun(int n)

即為巢狀呼叫 這個函式自己呼叫自己

c語言中巨集定義的巢狀和遞迴

可以巢狀 define a bb 不能是aa define bb 123 預編譯時a會變為123 不可遞迴 內 define c 1 c 或 define c 1 b define b 1 c 預編譯時c會變成1 1 1 1 1 無限迴圈容 在來c語言中巨集是用來載入 的,自是一個單獨的程式處理的。...

如何用C語言直接定義自相關函式C語言中如何定義函式

按題意來說,r m e s i s i m 你的程式本身就錯了 autocorrelation應該有三個引數,資料data,n,m 程式如下 include stdio.h float data 25 float r 15 int n 10 float autocorrelation float d...

類定義中巢狀結構為什麼不可以

類定義中巢狀結構體是可以的,這裡要分幾種情況說明 對於已經宣告的 在類外 結構體型別,在類定義內巢狀結構體變數,沒有任何問題。在類定義內直接定義結構體型別並同時宣告結構體變數,也是可以的,但這個結構體型別無法在類外使用。在類內只定義結構體型別,而不同時宣告結構體變數是不可以的 這個在結構體定義內同樣...