Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2249559
  • 博文数量: 395
  • 博客积分: 10994
  • 博客等级: 上将
  • 技术积分: 5586
  • 用 户 组: 普通用户
  • 注册时间: 2010-12-17 19:49
文章存档

2014年(1)

2013年(10)

2012年(74)

2011年(303)

2010年(7)

分类: LINUX

2011-09-08 17:03:41

今天我遇到一行代码,很是有意思,也很耐人寻味
while((wait_pid=wait(&status)) && wait_pid !=-1 )
 printf("process id:%d exit,exit_code is %0x\n",wait_pid,status);
粗略一看,大概是while中的是2个并列的判断语句,可是仔细一看,你会发现前面的是一个"="号,然后
后面的是直接判断前面返回值的意义。。。,我是第一次看到。
如果写成这样是不是更好读一些:
wait_pid=wait(&status);
while(wait_pid !=-1 ){
 printf("process id:%d exit,exit_code is %0x\n",wait_pid,status);
 wait_pid=wait(&status);
}
其实最上面的是上面的缩写,虽然说省去了很多,但是理解上有点困难。不过最上面的做法针对wait()来
说确实是比较好的做法。。。具体为什么,自己体会吧(我感觉是让人明白上在特殊的地方有特殊的地位
吧)
 
阅读(3097) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~