fork 如何与逻辑运算符一起使用

2024-03-14

main()
{
    if (fork() || (fork() && fork()))
    printf("AA\n");
    else if (!fork())
    printf("BB\n");
    else
    printf("CC\n");
}

我运行了以下代码并得到结果 AA AA CC BB CC BB。 虽然我了解 fork 的工作原理,但我不明白它对逻辑运算符的作用。我们班的老师要我们给出这份作业的答案。虽然我可以轻松运行这个程序,但我想知道到底发生了什么。 任何人都可以解释或引导我访问一个网站,了解使用 fork 和逻辑运算符时会发生什么情况。

我对 c/c++ 还很陌生,所以对我来说要轻松一些。谢谢


fork()回报0(false) 对于子进程,非零 (true) 对于父进程。

您可以对这些布尔值应用逻辑运算符。

请记住,逻辑运算符会短路,所以0 || fork()不会打电话fork at all.

如果您仔细阅读代码并思考每个代码的含义fork()呼叫将返回,您应该能够弄清楚。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

fork 如何与逻辑运算符一起使用 的相关文章

  • 检查两个数是否是彼此的排列?

    给定两个数字 a b 使得 1 例如 123 是 312 的有效排列 我也不想对数字中的数字进行排序 如果您指的是数字的字符 例如 1927 和 9721 则 至少 有几种方法 如果允许排序 一种方法是简单地sprintf将它们放入两个缓冲
  • 如何使 Windows 窗体的关闭按钮不关闭窗体但使其不可见?

    该表单有一个 NotifyIcon 对象 当用户单击 关闭 按钮时 我希望表单不关闭而是变得不可见 然后 如果用户想再次查看该表单 可以双击系统托盘中的图标 如果用户想关闭表单 可以右键单击该图标并选择 关闭 有人可以告诉我如何使关闭按钮不
  • 访问私人成员[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 通过将类的私有成员转换为 void 指针 然后转换为结构来访问类的私有成员是否合适 我认为我无权修改包含我需要访问的数据成员的类 如果不道德 我
  • C# 和 Javascript SHA256 哈希的代码示例

    我有一个在服务器端运行的 C 算法 它对 Base64 编码的字符串进行哈希处理 byte salt Convert FromBase64String serverSalt Step 1 SHA256Managed sha256 new S
  • UML类图:抽象方法和属性是这样写的吗?

    当我第一次为一个小型 C 项目创建 uml 类图时 我在属性方面遇到了一些麻烦 最后我只是将属性添加为变量 lt
  • 将布尔参数传递给 SQL Server 存储过程

    我早些时候问过这个问题 我以为我找到了问题所在 但我没有 我在将布尔参数传递给存储过程时遇到问题 这是我的 C 代码 public bool upload false protected void showDate object sende
  • Json.NET - 反序列化接口属性引发错误“类型是接口或抽象类,无法实例化”

    我有一个类 其属性是接口 public class Foo public int Number get set public ISomething Thing get set 尝试反序列化Foo使用 Json NET 的类给我一条错误消息
  • Web API - 访问 DbContext 类中的 HttpContext

    在我的 C Web API 应用程序中 我添加了CreatedDate and CreatedBy所有表中的列 现在 每当在任何表中添加新记录时 我想填充这些列 为此目的我已经覆盖SaveChanges and SaveChangesAsy
  • 从路径中获取文件夹名称

    我有一些路c server folderName1 another name something another folder 我如何从那里提取最后一个文件夹名称 我尝试了几件事 但没有成功 我只是不想寻找最后的 然后就去休息了 Thank
  • 将自定义元数据添加到 jpeg 文件

    我正在开发一个图像处理项目 C 我需要在处理完成后将自定义元数据写入 jpeg 文件 我怎样才能做到这一点 有没有可用的图书馆可以做到这一点 如果您正在谈论 EXIF 元数据 您可能需要查看exiv2 http www exiv2 org
  • 如何将单个 char 转换为 int [重复]

    这个问题在这里已经有答案了 我有一串数字 例如 123456789 我需要提取它们中的每一个以在计算中使用它们 我当然可以通过索引访问每个字符 但是如何将其转换为 int 我研究过 atoi 但它需要一个字符串作为参数 因此 我必须将每个字
  • 从库中捕获主线程 SynchronizationContext 或 Dispatcher

    我有一个 C 库 希望能够将工作发送 发布到 主 ui 线程 如果存在 该库可供以下人员使用 一个winforms应用程序 本机应用程序 带 UI 控制台应用程序 没有 UI 在库中 我想在初始化期间捕获一些东西 Synchronizati
  • 将 xml 反序列化为类,list<> 出现问题

    我有以下 XML
  • 如何使我的表单标题栏遵循 Windows 深色主题?

    我已经下载了Windows 10更新包括黑暗主题 文件资源管理器等都是深色主题 但是当我创建自己的 C 表单应用程序时 标题栏是亮白色的 如何使我自己的桌面应用程序遵循我在 Windows 中设置的深色主题 你需要调用DwmSetWindo
  • 在 Dynamics CRM 插件中访问电子邮件发件人地址

    我正在编写一个 Dynamics CRM 2011 插件 该插件挂钩到电子邮件实体的更新后事件 阶段 40 pipeline http msdn microsoft com en us library gg327941 aspx 并且在此阶
  • C - 直接从键盘缓冲区读取

    这是C语言中的一个问题 如何直接读取键盘缓冲区中的数据 我想直接访问数据并将其存储在变量中 变量应该是什么数据类型 我需要它用于我们研究所目前正在开发的操作系统 它被称为 ICS OS 我不太清楚具体细节 它在 x86 32 位机器上运行
  • 为什么 C# Math.Ceiling 向下舍入?

    我今天过得很艰难 但有些事情不太对劲 在我的 C 代码中 我有这样的内容 Math Ceiling decimal this TotalRecordCount this PageSize Where int TotalRecordCount
  • x86 上未对齐的指针

    有人可以提供一个示例 将指针从一种类型转换为另一种类型由于未对齐而失败吗 在评论中这个答案 https stackoverflow com questions 544928 reading integer size bytes from a
  • C 中的异或运算符

    在进行按位操作时 我在确定何时使用 XOR 运算符时遇到一些困难 按位与和或非常简单 当您想要屏蔽位时 请使用按位 AND 常见用例是 IP 寻址和子网掩码 当您想要打开位时 请使用包含或 然而 XOR 总是让我明白 我觉得如果在面试中被问
  • 限制C#中的并行线程数

    我正在编写一个 C 程序来生成并通过 FTP 上传 50 万个文件 我想并行处理4个文件 因为机器有4个核心 文件生成需要更长的时间 是否可以将以下 Powershell 示例转换为 C 或者是否有更好的框架 例如 C 中的 Actor 框

随机推荐

  • 在哪里使用 Redux 处理计算属性?

    使用 Redux 时 存储应该是唯一的事实来源 并且没有冗余 假设商店的一部分代表有名字和年龄的人 传统面向对象编程中的 person 类可能如下所示 class Person constructor first last birthday
  • 抽象控件中的 VisualState

    我有一个抽象的 BaseControl 其中包含依赖项属性以及默认样式和 VisualState 我想在继承的控件中使用这些 VisualState 据我所知 设置继承控件的模板不会使 VisualState 访问它需要更新的 UIElem
  • 在 .net 5 控制台应用程序中利用用户机密

    我正在构建一个简单的控制台应用程序来处理大型 CSV 文件 SDK版本5 0 202我使用的是 Manjaro Linux CODE using System using System Text using TinyCsvParser us
  • Android 资源限定符 -sw#dp 与 -w#dp

    假设我正在为屏幕尺寸等于或大于 600dp 的设备开发不同的布局 我想使用 android 3 2 后的资源限定符 我创建了一个名为layout sw600dp并将我的布局放在那里 但同时我可以创建一个名为的文件夹layout w600dp
  • 查明文件是否已更改

    我想查明自上次启动 shell 脚本以来文件是否已被修改 也许可以通过创建布尔值或其他东西 也许可以将上次运行脚本的时间保存在一个文本文件中 下次启动脚本时它应该读取该文件 然后它应该找出哪些文件已更改 以便我可以检查是否有文件已使用以下内
  • Laravel 5.8 中 Pusher 连接失败

    我在 laravel 5 4 中使用 Pusher 没有任何问题 但现在我尝试使用 laravel 5 8 但出现以下错误 我已经尝试了我能想到的一切 甚至改变了encrypted to false万一 我三次检查了我的推送者凭据 Lara
  • uifont“Impact”不适用于 iOS

    我正在尝试使用 Impact ttf 它是 OSX 内置的 但在 xcode 上看不到自定义字体 所以我将它包含在我的项目中 如屏幕所示并使用 UIFont font1 UIFont fontWithName Impact ttf size
  • 在 iOS SDK 4.2 上构建越狱设备

    我有一个通过 Cydia 分发的应用程序 它没什么黑科技 只是一个连接到 Web API 的 GUI 我上次提交更新是在 SDK 4 0 之前 我使用了可用的说明here http thebigboss org hosting reposi
  • Javascript:检索对象属性名称

    我正在尝试编写一个需要知道传入对象的属性名称的函数 如下所示 var data key1 value1 key2 value2 etc i want the string value key1 如何从中检索字符串 key1 data 我知道
  • CSS 表格宽度 - 100% + 减去边距

    我偶然发现了一个我不完全确定如何解决的问题 我有一个包含多个 div 的页面 其中一个包含一个表格 但边距为 20 像素 我需要这个表格 对接 另一个 div 的右侧 这是我通过使用 20px 的边距来完成的 正如我所希望的那样 由于此 d
  • 如何使用 VIM 修复 perl 语法错误“缺少右大括号或方括号”?

    使用不匹配的数组大括号 或范围括号 编译 或执行 perl 程序会导致 缺少右大括号或方括号 语法错误 Perl 经常将源代码报告为最后一个代码行 at EOF 这可能与实际缺失的部分相去甚远 Perl 错误消息示例 Missing rig
  • Robot.mouseMove 在 Mac OS X 中根本不起作用

    我在 IntelliJ IDE 中使用该代码创建了 java 文件 import java awt AWTException import java awt MouseInfo import java awt Robot public cl
  • 如何在64位Android-L平台上使用32位本机库

    我有一个 Android 应用程序 我用 AOSP Kitkat 编译为 Android 系统应用程序 并且运行良好 我的应用程序依赖于使用 Android NDK 作为 32 位库编译的本机代码 我正在我的 Android 应用程序中复制
  • 如何在 Bash 中保持 MySQL 连接打开

    我有一个 bash 脚本 它多次调用 MySQL 有没有办法保持连接打开 而不是重新连接到 MySQL 理想情况下 如果脚本提前退出 连接就会关闭 我认为命名管道可以工作 但它们会保持打开状态 这是我希望找到的一个快速伪示例 openMyS
  • Android:使用 viewPager 限制片段加载

    我有 3 个由 FragmentPagerAdapter 管理的片段 设置为 viewPager 我想一个一个加载fragment 但是当执行FragmentActivity的onCreate方法时 执行的是前2个fragment onCr
  • Angular4模板引用变量赋值

    我遇到过这个例子 https material angular io components menu examples我们可以看到
  • 如何从 Cocoa 调用的管理员权限 bash 脚本获取输出?

    我正在使用下面的代码 以管理员权限启动 bash 命令 我需要能够在使用它之后将输出存储在数组中 我怎样才能得到输出 char command1 usr bin dscl char args1 read SharePoints Folder
  • Scrapy如何过滤爬取的url?

    我想知道Scrapy是如何过滤那些爬取的url的 它是否存储所有以类似方式爬行的网址crawled urls list 当它得到一个新的 url 时 它会查找列表以检查该 url 是否存在 这个过滤部分的代码在哪里爬行蜘蛛 path to
  • 将 Base64 字符串转换为位图或图像 Xamarin 或 Android [重复]

    这个问题在这里已经有答案了 我正在尝试将 Base64 字符串转换为图像并使用相同的图像设置 ImageView 我知道如何用 java 完成它 但我在 C 中遇到了麻烦 有人知道如何用 C 完成它吗 我尝试过的一些代码 public Im
  • fork 如何与逻辑运算符一起使用

    main if fork fork fork printf AA n else if fork printf BB n else printf CC n 我运行了以下代码并得到结果 AA AA CC BB CC BB 虽然我了解 fork