#include #include #include int main(int argc, char const *argv[]) { int n = 100; int total = 0; // 父进程完成 给定的整数以内的 3 的倍数的和 // 子进程完成 给定的整数以内的 5 的倍数的和 pid_t pid = fork(); if (pid < 0) { perror("fork error"); return -1; // fork 出错, 退出 } if (pid == 0) { // 子进程 for (int i = 1; i <= n; i++) { if (i % 5 == 0) { total += i; } } printf("子进程(%d) : 1-%d 以内的 5 的倍数的和为: %d\n", getpid(), n, total); } else { // 父进程 for (int i = 1; i <= n; i++) { if (i % 3 == 0) { total += i; } } printf("父进程(%d): 1-%d 以内的 3 的倍数的和为: %d\n", getpid(), n, total); } printf("进程(%d) 退出\n", getpid()); // while (1) // ; return 0; }