分析:int main()

{

fork();

fork();

fork();

printf("hello\n");

}

分析为何打印8次hello

#include<stdio.h>
#include <sys/types.h>
#include <unistd.h>
int main()
{
	pid_t pid=fork();
	if(pid>0)
	{
		pid_t pid1=fork();
		if(pid1>0)
		{
			pid_t pid2=fork();
			if(pid2>0)
			{
				printf("hello\n");
			}
			else if(pid2==0)
			{
				printf("hello\n");
			}
		}
		else if(pid1==0)
		{
			pid_t pid3=fork();
			if(pid3>0)
			{
				printf("hello\n");
			}
			else if(pid3==0)
			{
				printf("hello\n");
			}
		}
	}

	
	else if(pid==0)
	{
		pid_t pid1=fork();
		if(pid1>0)
		{
			pid_t pid2=fork();
			if(pid2>0)
			{
				printf("hello\n");
			}
			else if(pid2==0)
			{
				printf("hello\n");
			}
		}
		else if(pid1==0)
		{
			pid_t pid3=fork();
			if(pid3>0)
			{
				printf("hello\n");
			}
			else if(pid3==0)
			{
				printf("hello\n");
			}
		}
	}
	
	return 0;
}