有关fork 的一点问题,程序是这样的:#includevoid main(){int p1,p2;while((p1=fork())==-1);if(i==0)putchar('a');else {while(p2=fork()==-1);if(p2==0)putchar('b');else putchar('a');}}对于while 语句,我的理解是:当条件成立时,转向

来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/16 09:42:58
有关fork的一点问题,程序是这样的:#includevoidmain(){intp1,p2;while((p1=fork())==-1);if(i==0)putchar(''a'');else{whil

有关fork 的一点问题,程序是这样的:#includevoid main(){int p1,p2;while((p1=fork())==-1);if(i==0)putchar('a');else {while(p2=fork()==-1);if(p2==0)putchar('b');else putchar('a');}}对于while 语句,我的理解是:当条件成立时,转向
有关fork 的一点问题,程序是这样的:
#include
void main()
{
int p1,p2;
while((p1=fork())==-1);
if(i==0)
putchar('a');
else
{
while(p2=fork()==-1);
if(p2==0)
putchar('b');
else putchar('a');
}
}
对于while 语句,我的理解是:当条件成立时,转向下一句,可是p1,p2等于-1时,fork创建进程失败,又怎么会执行下面的if语句呢应该直接退出才对啊,
p1,p2既然已经等于-1了怎么又会等于0能.
sorry 我的第六行打错了,应该是if(p1==0)

有关fork 的一点问题,程序是这样的:#includevoid main(){int p1,p2;while((p1=fork())==-1);if(i==0)putchar('a');else {while(p2=fork()==-1);if(p2==0)putchar('b');else putchar('a');}}对于while 语句,我的理解是:当条件成立时,转向
先说个了例子:
while(ture)无限循环.一直循环.
while(false)永远也不会循环.
这两句是解释while的使用
while其实里边有的if的意思.他只有判断条件为真的时候才会循环.不为真的时候不循环.和转向没关系.只有continue配合标记符号才能有跳转的意思.所以while(p2=fork()=1)括号里的应该是个布尔型结果.不是阵就是假.while不管里边是什么东西.他只在乎是真就循环.是假他就不循环了.for也一样.平时用的什么for(;i