linux用makefile写一个一到二十的阶乘的和
时间: 2024-03-14 21:45:58 浏览: 65
以下是一个用 Makefile 编写的计算 1 到 20 的阶乘和的程序:
```
CC=gcc
CFLAGS=-Wall
all: factorial
factorial: factorial.o
$(CC) $(CFLAGS) -o factorial factorial.o
factorial.o: factorial.c
$(CC) $(CFLAGS) -c factorial.c
clean:
rm -f *.o factorial
.PHONY: clean
```
程序代码如下:
```
#include <stdio.h>
long long factorial(int n) {
if (n == 0) {
return 1;
} else {
return n * factorial(n - 1);
}
}
int main() {
long long sum = 0;
int i;
for (i = 1; i <= 20; i++) {
sum += factorial(i);
}
printf("The sum of factorial from 1 to 20 is %lld\n", sum);
return 0;
}
```
在终端中,进入该程序所在的目录,运行以下命令:
```
make
./factorial
```
程序会输出计算结果,如下所示:
```
The sum of factorial from 1 to 20 is 2561327494111820313
```
Makefile 中的规则定义了程序的编译、链接和清理操作。在终端中,运行 make 命令可以自动编译和链接程序。运行 ./factorial 命令可以执行程序,计算 1 到 20 的阶乘和。
阅读全文