回 帖 发 新 帖 刷新版面

主题:[讨论]这里的if,else有什么特别吗?

进程的创建:
    使用fork()创建两个进程.当此程序运行时,再系统中有一个父进程和两个子进程活动.让每个进程在屏幕上显示一个字符;父进程显示字符"a",子进程分别显示字符"b"和"c".
#include <stdio.h>
main()
{
    int p1,p2;
    while((p1=fork())==-1);    /*创建子进程p1*/
    if(p1==0)                  /*子进程创建成功*/
      putchar('b');
    else
    {
       while((p2=fork())==-1);/*创建另一个进程*/
       if(p2==0)              /*子进程创建成功*/
         putchar('c');
       else                   /*父进程创建成功*/
         putchar('a');
     }
}
运行结果:bca
    请问在执行了if语句,为什么还要执行else语句.这里的if和else有什么特别的地方吗?那位高手能够指点以下.
[em10][em10][em10][em10][em10][em10]

回复列表 (共2个回复)

沙发

看错了吧,重新弄一遍。

板凳

没有错,程序正常。
可能与进程有关把,所以它执行了else语句。

我来回复

您尚未登录,请登录后再回复。点此登录或注册