【发布时间】:2021-07-11 09:35:45
【问题描述】:
仅供个人学习和更好地理解C代码预处理器????:
我想知道是否可以通过预处理器指令在C语言中实现斐波那契函数。
斐波那契函数的正常定义可以是:
int f(int i) { // i should be non-negative integer
if (i <= 1) {
return 1;
}
return f(i - 1) + f(i - 2);
}
在 C++ 中使用模板元编程技术的方法不是我需要的。
使用代码预处理器似乎无法进行递归计算?
【问题讨论】:
-
为什么要用宏来做?
-
一个 64 位整数最多可以存储第 94 项。
-
一般建议。可以使用函数时不要使用宏。
-
@klutt:OP 并没有说他们想用宏来实现斐波那契函数。他们问这是否可能,这仅表明他们想知道,而不是他们想这样做。通常,了解各种工具的功能有助于了解它们、了解更多信息、激发创造力以及了解未来情况下可用的内容。他们询问是否可以使用预处理器指令,而不是仅使用宏。
-
@EricPostpischil 我完全同意。但是,在 OP 编辑之前,问题看起来完全不同。