- 论坛徽章:
- 0
|
回复 2# zooyo - #include"apue.h"
- static void charatatime(char *);
- int main(void)
- {
- pid_t pid;
- TELL_WAIT();
- if((pid=fork())<0){
- printf("error");
- }else if(pid==0){
- waitparent();
- charatatime("output from child");
- }else{
- charatatime("output from parent");
- TELL_CHILD(pid);
- }
- exit(0);
- }
- static void charatatime(char *str)
- {
- char *ptr;
- int c;
- setbuf(stdout,NULL);
- for(ptr=str;(c=*ptr++)!=0)
- putc(c,stdout);
复制代码 这是apue的习题8-3,执行的是./a.out;./a.out;./a.out
结果是output from parent
output from parent
ouotuptut from child
put from parent
output from child
utput from child
多次输出结果错误,为什么会出现这种情况?(这是原题)
我的问题是,./a.out 如果是分别执行三次,那么为什么相互之间会有影响呢?
|
|