概念
write a program programing for you ,that's call metaprogramming.
写一个程序,让它帮你写程序
需求
计算20
以内的斐波那契数列
动态计算
#include <stdio.h>
int fib(int n){
if (!n) return n;
int a = 0,b = 1, c;
for(int i = 1; i < n; i++) {
c = a + b;
a = b;
b = c;
}
return b;
}
int main() {
printf("%d\n", fib(4));
}
提前计算
// fib_calc.cpp
#include <stdio.h>
int fib(int n){
if (!n) return n;
int a = 0,b = 1, c;
for(int i = 1; i < n; i++) {
c = a + b;
a = b;
b = c;
}
return b;
}
int main() {
printf("int fib_array[] = {\n");
for (int i = 0 ; i <= 30; i++)
printf("%d,\n", fib(i));
printf("};\n");
}
将输出结果存入数组,然后到处到头文件再
include
。