单选题   请分析以下程序。
    int main()
    { pid_t pid;
    int a=1;
    pid=fork();
    if(pid==0)
    printf('I am the child process,a=%d\n',++a);
    else
    printf('I am the parent process,a=%d\n',--a);}
    在UNIX操作系统中正确编译链接后,其运行结果为______。
 
【正确答案】 A
【答案解析】函数fork()的作用是通过系统调用创建一个与原来进程几乎完全相同的进程。对于子进程返回标识符0,对于父进程返回子进程的PID。父进程和子进程拥有各自的局部变量a,初始值都为1;所以子进程中PID为0,执行的是第1个printf,由a的值为1,先自增再输出值,可知输出的是This is the child process,a=2;而父进程中PID为子进程的PID,不为0,执行的是第2个printf,由a的值为1,先自减再输出值,可知输出的是This is the parent process, a=0。因此,本题答案选择A选项。