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

2021-03-10 23:35:37 字數 741 閱讀 5010

1樓:鏡面世界

可以巢狀:#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+......無限迴圈容

2樓:匿名使用者

在來c語言中巨集是用來載入**的,自是一個單獨的程式處理的。

比如,#define f(n) n==0? 1:f(n-1)+f(n-2)

當n=5時,就會被展開為

f(n-1)+f(n-2);

之後f(n)就找不到了,所以無法實現遞迴。

3樓:打死小胖

就是巨集來

裡邊可以巢狀巨集例源

如:#ifdef aa

……bai

#ifdef bb

……#endif

……#endif

遞迴?誰

du會拿巨集來遞迴呢

也許不是zhi

這個意思也許是dao說這個吧:

#define a aa;

#define aa 1;

可巢狀是指這個意思吧;

不可遞迴就是不能定義回去吧,比如說:

#define a aa;

#define aa aaa;

#define aaa a;

在c語言中 巨集定義是什麼,在C語言中 巨集定義是什麼?

在c語言源程式中,允許用一個識別符號來表示一個字串,稱為巨集,巨集定義是由源程式中的巨集定義命令完成的,巨集替換是由預處理程式自動完成的。巨集定義是c提供的三種預處理功能的其中一種,這三種預處理包括 巨集定義 檔案包含 條件編譯。c語言中的巨集定義用法分為兩種。1 不帶引數的巨集定義比較簡單,就是用...

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

函式的定bai義不可以巢狀du 定義函zhi數a void a 定義a函式dao 這是不對的,但函式的呼叫 專可以嵌屬套 在主函式中呼叫x函式,x函式在呼叫y函式 void y 定義y函式 void x 定義x函式 void main 首先你要明白函式的 定義 和 呼叫 各是什麼意思。函式的呼叫可以...

c語言巨集定義字串問題,C語言巨集定義字串問題

用拼接符可以做到 define string arg aaaaaaa arg bbbbbbbbbb 但arg必須是個常量,不能是變數 c語言,將數字和字串拼成一個字串。用巨集來做,用api誰都會 巨集定義字串拼接可以使用巨集運算 即 define strcat x,y x y。運算子可以將兩個記號版...