打印
[C语言]

fork函数返回问题

[复制链接]
640|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yanghelovehuang|  楼主 | 2018-6-28 09:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
chongdongchen| | 2018-6-28 09:52 | 只看该作者
注意优先级

使用特权

评论回复
板凳
yanghelovehuang|  楼主 | 2018-6-29 10:17 | 只看该作者

什么优先级啊 fork这个函数在不同的系统中,父子进程的执行顺序也是不同的,而且为啥会打印两次子进程的内容啊

使用特权

评论回复
地板
chongdongchen| | 2018-6-29 10:36 | 只看该作者
yanghelovehuang 发表于 2018-6-29 10:17
什么优先级啊 fork这个函数在不同的系统中,父子进程的执行顺序也是不同的,而且为啥会打印两次子进程的 ...

第一行的 = 和 <,不加括号容易出错,当然也有可能你是故意这样写的

使用特权

评论回复
5
yanghelovehuang|  楼主 | 2018-6-29 14:11 | 只看该作者

哦明白了,是符号优先级啊,谢谢大神,是这个问题,<的优先级大于= 那if(pid = fork() < 0)是不是就可以这么解释了:把fork返回的小于0的值赋给pid,那pid应该没值啊,为什么会执行pid == 0的程序呢?还两次

使用特权

评论回复
6
chongdongchen| | 2018-6-29 14:21 | 只看该作者
yanghelovehuang 发表于 2018-6-29 14:11
哦明白了,是符号优先级啊,谢谢大神,是这个问题,

fork() < 0 的结果只会是True 和 false(!0和0),所以pid = !0 或 0

使用特权

评论回复
7
yanghelovehuang|  楼主 | 2018-6-29 15:19 | 只看该作者
chongdongchen 发表于 2018-6-29 14:21
fork() < 0 的结果只会是True 和 false(!0和0),所以pid = !0 或 0

嗯嗯 了解了 谢谢大神 不知道您对 socket了解不 我还有个问题 您看下:https://bbs.21ic.com/icview-2524672-1-1.html

使用特权

评论回复
8
chongdongchen| | 2018-6-29 15:36 | 只看该作者
yanghelovehuang 发表于 2018-6-29 15:19
嗯嗯 了解了 谢谢大神 不知道您对 socket了解不 我还有个问题 您看下:https://bbs.21ic.com/icview-25246 ...

不敢当,这个我帮不了你哦

使用特权

评论回复
9
yanghelovehuang|  楼主 | 2018-6-29 15:58 | 只看该作者
chongdongchen 发表于 2018-6-29 15:36
不敢当,这个我帮不了你哦

嗯嗯 没事 谢谢啊大神

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

156

主题

324

帖子

1

粉丝