Fibonacci数列Linux程序,使用fork()调用计算Fibonacci数列
时间: 2024-05-05 13:22:20 浏览: 36
以下是一个使用fork()调用计算Fibonacci数列的Linux程序:
```c
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/wait.h>
int fibonacci(int n)
{
if (n <= 1)
return n;
return fibonacci(n-1) + fibonacci(n-2);
}
int main()
{
int n, i;
printf("Enter the number of terms in Fibonacci series: ");
scanf("%d", &n);
pid_t pid = fork();
if (pid == 0) {
// child process
printf("Child process calculating Fibonacci series:\n");
for (i = 0; i < n; i++) {
printf("%d ", fibonacci(i));
}
printf("\n");
} else if (pid > 0) {
// parent process
printf("Parent process waiting for child process to finish...\n");
wait(NULL);
printf("Child process finished!\n");
} else {
// error creating child process
printf("Error creating child process!\n");
return 1;
}
return 0;
}
```
在此程序中,我们使用fork()创建了一个新的进程来计算Fibonacci数列。在子进程中,我们使用递归函数计算Fibonacci数列,并输出结果。在父进程中,我们使用wait()等待子进程完成,并在子进程完成后输出一条消息。
阅读全文