在C語言中,使用#define
關鍵字可以定義宏,實現宏定義的遞歸可以通過在宏定義中調用自身來實現。下面是一個簡單的例子:
#include <stdio.h>
#define RECURSIVE_MACRO(x) (x > 0 ? x * RECURSIVE_MACRO(x - 1) : 1)
int main() {
int result = RECURSIVE_MACRO(5);
printf("%d\n", result);
return 0;
}
在上面的例子中,我們定義了一個名為RECURSIVE_MACRO
的宏,它接受一個參數x
,如果x
大于0,則返回x
乘以RECURSIVE_MACRO(x - 1)
的結果,否則返回1。通過遞歸調用自身,我們實現了一個計算階乘的宏定義。當我們在main
函數中調用RECURSIVE_MACRO(5)
時,會計算出5的階乘并輸出結果。