一直在纠结if((mikfifo(FIFO_SERVER,O_CREAT|O_EXCL|O+RDWR)<0&&(errno!=EEXIST))的作用,求大神解惑

include_xy 2017-07-25 09:35:21
if((mikfifo(FIFO_SERVER,O_CREAT|O_EXCL|O+RDWR)<0)&&(errno!=EEXIST))

这句判断语句中:errno!=EEXIST的意思就是排除文件已存在这个报错,但是(mikfifo(FIFO_SERVER,O_CREAT|O_EXCL|O+RDWR))<0的意思是不是表示创建的文件已存在。这两个语句“&&”之后是啥意思?
...全文
289 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
战在春秋 2017-07-26
  • 打赏
  • 举报
回复
&&是 逻辑与 运算符。 只有当&&左右两侧的逻辑表达式结果都为真时,整个逻辑表达式的结果才为真。 题目中:
//mikfifo应该是一个函数,当函数的返回值小于0,下面这个表达式的结果为真
mikfifo(FIFO_SERVER,O_CREAT|O_EXCL|O+RDWR)<0
如果同时再满足 errno!=EEXIST,那么if判断条件就为真,可以执行这个if分支中的语句。

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧