请编译并运行以下程序,并描述你的观察结果。该程序可以在 Labsetup 文件夹中找到;可以使用 "gcc myprintenv.c" 编译,生成的二进制文件名为 a.out。运行它并使用 "a.out > file" 将输出保存到文件中。
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
extern char **environ;
void printenv()
{
int i = 0;
while (environ[i] != NULL) {
printf("%s\n", environ[i]);
i++;
}
}
void main()
{
pid_t childPid;
switch(childPid = fork()) {
case 0: /* 子进程 */
printenv(); ①
exit(0);
default: /* 父进程 */
//printenv(); ②
exit(0);
}
}