程序一:

#include "stdio.h"
#include "sys/types.h"
#include "unistd.h"int main()
{fork() || fork();printf("+");return 0;
}

结果输出3个"+",共创建3个进程。

fork()给子进程返回一个零值,而给父进程返回一个非零值;
在main这个主进程中,首先执行 fork() || fork(), 左边的fork()返回一个非零值,根据||的短路原则,前面的表达式为真时,后面的表达式不执行,故包含main的这个主进程创建了一个子进程,
由于子进程会复制父进程,而且子进程会根据其返回值继续执行,就是说,在子进程中, fork() ||fork()这条语句左边表达式的返回值是0, 所以||右边的表达式要执行,这时在子进程中又创建了一个进程,
即main进程->子进程->子进程,一共创建了3个进程。

程序二:

#include "stdio.h"
#include "sys/types.h"
#include "unistd.h"int main()
{fork() && fork();printf("+");return 0;
}

结果输出3个"+",共创建3个进程。

程序三:

#include "stdio.h"
#include "sys/types.h"
#include "unistd.h"int main()
{fork() || fork() || fork();printf("+");return 0;
}

结果输出4个"+",共创建4个进程。

程序四:

#include "stdio.h"
#include "sys/types.h"
#include "unistd.h"int main()
{fork() && fork() && fork();printf("+");return 0;
}

结果输出4个"+",共创建4个进程。

程序五:

#include "stdio.h"
#include "sys/types.h"
#include "unistd.h"int main()
{fork() || fork() || fork() || fork();printf("+");return 0;
}

结果输出5个"+",共创建5个进程。

程序六:

#include "stdio.h"
#include "sys/types.h"
#include "unistd.h"int main()
{fork() && fork() && fork() && fork();printf("+");return 0;
}

结果输出5个"+",共创建5个进程。

fork() || fork()和fork() fork()笔试题相关推荐

  1. linux 的fork函数原型,浅析fork()和底层实现

    记得以前初次接触fork()函数的时候,一直被"printf"输出多少次的问题弄得比较晕乎.不过,"黄天不负留心人".哈~ 终于在学习进程和进程创建fork相关 ...

  2. linux fork 函数,Linux的fork()系统调用

    Linux的fork()系统调用,就是以父进程为模版创建子进程,是Linux系统的进程管理机制的核心API之一,另一个是调度器函数schedule(),它的用户态API就是之前说自旋锁时提到的sche ...

  3. git创建fork仓库和关联fork仓库 git提交新分支之git删除本地分支和git删除远程分支——git remote prune origin同步分支

    git创建fork仓库和关联fork仓库 & git提交新分支之git删除本地分支和git删除远程分支--git remote prune origin同步分支 & 跨分支合并-新建分 ...

  4. 【转】一个关于fork()的笔试题,考了好几遍,终于找到答案了

    笔试至少3次见到这个题,都是瞎编的,今天群里有人问,然后有人放出了这个地址:http://coolshell.cn/articles/7965.html,让我恍然大明白,豁然好脾气. 感谢这位陈皓同学 ...

  5. 一道关于 fork 的笔试题

    题目 阅读下面的代码,显示终端会打印出几个 hello world? #include <sys/types.h> #include <unistd.h> #include & ...

  6. 嵌入式Linux C笔试题积累(转)

    http://blog.csdn.net/h_armony/article/details/6764811 1.   嵌入式系统中断服务子程序(ISR) 中断是嵌入式系统中重要的组成部分,这导致了很 ...

  7. 程序员笔试题收集汇总(三)

    相关文章: 程序员笔试题收集汇总(一) http://blog.csdn.net/youyou1543724847/article/details/52383530 程序员笔试题收集汇总(二) htt ...

  8. Linux运维工程师笔试题系列6(30题)

    Linux运维工程师笔试题系列6(30题) 如果您对问题有疑问,或者认为答案不准确的,欢迎留言交流. 问题如下: 1. cat -n file1file2 命令的意思是? A 只会把文件file1的内 ...

  9. 以下c语言程序片段用于估测cpu的cache参数,阿里巴巴笔试题

    阿里巴巴笔试题 1.平均速度最快的排序算法是______. Shell排序 快速排序 冒泡排序 插入排序 2014-03-29 18:36:02 2.某服务进程的QPS(没秒处理的请求个数)较低,在空 ...

最新文章

  1. Javascript 控制 Flash FLV视频播放器 --国外开源
  2. 【迁移学习(Transfer L)全面指南】Deep CORAL几何特征变换
  3. Android自定义文件路径箭头,Android自定义ViewGroup实现带箭头的圆角矩形菜单
  4. element ui 空格_空格是您的UI朋友。 大量使用它。
  5. Javascript中的循环变量声明,到底应该放在哪儿?
  6. JavaScript玩转机器学习:模型转换
  7. mysql大批量数据写入_存储过程写入大批量数据,用于测试mysql查询优化
  8. linux c普通用户怎么判断键盘是否按动_网络没问题,电脑却无法联网怎么办?win10无法联网搞定方式举例...
  9. 微课|中学生可以这样学Python(2.2.2节+2.2.5节):关系运算符和集合运算符
  10. 无法在驱动器0分区上安装windows 解决方法
  11. Launcher3调整壁纸清晰度
  12. linux 自动ping脚本,ping自动报警shell脚本forlinux
  13. 边玩边学,15个学习Python 的编程游戏网站
  14. 关于ISIS协议TLV TAG标签的研究与简单实验
  15. java创新创业比赛项目教程_java毕业设计_springboot框架的大学生创新创业项目管理...
  16. 计算机网络请子网划分,计算机网络不同主机数的子网划分
  17. 迅雷 android下载地址 http,Android HTTP边下边播
  18. 红黑树 插入算法(一)
  19. Oracle ORA-06502 数字或值错误
  20. 最低2000多,中国房价最低的30城,你会选择吗?

热门文章

  1. JavaScript社区开发者调查:服务端JS盛行 AngularJS使用者最多
  2. 数据分层/ODS/DW/DM
  3. lightgbm简易评分卡制作
  4. 每日一博 - Spring Boot Application as a Service
  5. Spring Cloud【Finchley】- 21 Spring Cloud Stream 构建消息驱动微服务
  6. 爬虫学习笔记(七)——Scrapy框架(二):Scrapy shell、选择器
  7. python判断字符是否为数字或字母
  8. 解决mysql java.sql.SQLException: The server time zone value‘XXXXXX' is unrecognized or represents...
  9. Matlab-PEAKS函数曲线
  10. linux查看python pip 安装包列表和安装路径