`printf("...") || 的语义printf(“…”) || printf("…")`

2024-04-11

我想知道以下语句在 C 中会打印什么?

printf("hello\n") || (printf("goodbye\n") || printf("world\n"));

我通常习惯使用“cout”在 C 中打印一些内容。此外,我对这种方式使用的管道和双管道运算符感到困惑。谢谢你!


First, cout是 C++ 的发明,从未回到 C,也永远不会。

Next, printf返回打印的字符数,因此第一次调用返回非零。

As ||是短路布尔值,或者,以下都不是printf- 通话将会完成。

(|是按位或,因此不会短路。添加是因为您正在谈论单管道并且@Leeor链接了这样的问题。)

最终结果:hello\n打印:5个字符+换行符(将被翻译,如stdin是文本模式(Unixoid 上的身份转换))。

7.21.6.3 printf 函数

概要

#include <stdio.h>
int printf(const char * restrict format, ...);

描述
2 的printf函数相当于fprintf与论证stdout介入 在参数之前printf.
退货
3 的printf函数返回传输的字符数,如果是则返回负值 发生输出或编码错误。

6.5.12 按位或运算符

Synopsis
[...]
约束条件
2 每个操作数应为整数类型。
语义学
3 对操作数进行通常的算术转换。
4 结果|运算符是操作数的按位或运算(即, 当且仅当转换后的数据中至少有一个相应位时,结果才被设置 操作数已设置)。

6.5.14 逻辑或运算符

Synopsis
[...]
约束条件
2 每个操作数应具有标量类型。
语义学
3 的||如果任一操作数不等于 0,则运算符应产生 1;否则,它 产生 0。结果具有类型int.
4 与按位运算不同|运营商,||运算符保证从左到右评估;如果 第二个操作数被求值,第一个操作数的求值之间有一个序列点 和第二操作数。如果第一个操作数比较不等于 0,则第二个操作数为 未评价。

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

`printf("...") || 的语义printf(“…”) || printf("…")` 的相关文章

  • 如果异常保存在 std::exception_ptr 中,那么在 catch 语句之外使用异常是否安全?

    我有一个std exception ptr其中有一个例外 我要调用std rethrow exception要获取实际的异常 catch 语句之后的异常是否有效 我的猜测是 因为我仍然持有std exception ptr它仍然有效 参见示
  • 为什么在从同一解决方案引用另一个项目时会出现 FileNotFound 异常?

    我正在学习如何使用 NUnit 我的解决方案中有我的主项目 并在同一解决方案中创建了一个单独的项目 该项目将保存我的单元测试 并具有自己的命名空间 从该项目中 我添加对主项目的引用并添加 using MainProjectNamespace
  • C++ 天花板函数的奇怪结果

    我一直在尝试天花板功能并得到一些奇怪的结果 如果我对十进制数乘以百执行 ceil 运算 我会得到一定的结果 但是 如果我直接对该乘法的结果执行 ceil 我会得到完全不同的输出 另一个问题是 这些不同的结果仅发生在某些数字上 任何帮助 将不
  • 公共领域有哪些替代方案?

    我正在用 java 编写一个游戏 正如问题标题建议的那样 我在类中使用公共字段 暂且 据我所知 公共领域很糟糕 我有一些理解其中的原因 但如果有人能澄清为什么你不应该使用它们 那将不胜感激 问题是 从我所看到的来看 这似乎是合乎逻辑的 是使
  • 二元运算符重载、隐式类型转换

    class my bool private bool value public my bool bool value value value explicit operator bool return value friend my boo
  • 尝试缓冲区溢出

    我正在尝试使用缓冲区溢出来更改函数的结果 以使用以下代码更改堆栈上的结果 include
  • C语言中的array、&array、&array[0]有什么区别? [复制]

    这个问题在这里已经有答案了 在学习C语言中的数组和指针时 我很困惑 为什么ch ch ch 0 彼此相等 而sptr sptr sptr 0 却不相等 这是我的源代码 int main void char ch 7 1 2 3 4 5 6
  • 具有多重继承的不明确基数

    我正在尝试在一个大库中编写一些类的子类 我收到 基础不明确 错误 这是该问题的一个可编译示例 include
  • Bool类型返回规则

    我使用 dapper ORM 所以我使用两个规则Query
  • 如何在 .NET 中自定义 JSON 枚举的反序列化?

    我有以下示例 C 代码 它是使用 svcutil exe 应用程序从 xsd 自动生成的 DataContract public enum Foo EnumMember Value bar Bar 1 EnumMember Value ba
  • 从 TFS 下载工作项附件(文件已损坏)

    我正在尝试创建 C 代码 因此我可以自动从 Team Foundation Server 下载 BUGS 预定义查询的所有附件 该代码似乎工作得很好 但所有下载的文件都因意外原因而损坏 我无法查看它们 有人可以看一下代码并分享意见吗 非常感
  • 为什么 C++ 元组如此奇怪?

    我通常创建自定义structs将不同类型的值分组在一起时 这通常很好 而且我个人发现命名成员访问更容易阅读 但我想创建一个更通用的 API 在其他语言中广泛使用元组后 我想返回类型的值std tuple但发现它们在 C 中使用比在其他语言中
  • 使用可变参数模板函数计算多个值的平均值

    我正在尝试编写一个函数来确定任意数量参数的平均值 所有参数都具有相同的类型 出于学习目的 我尝试使用可变参数模板函数来做到这一点 这是我到目前为止所拥有的 template
  • 如何将此 Boost ASIO 示例应用到我的应用程序中

    我已经阅读了很多 ASIO 示例 但我仍然对如何在我的应用程序中使用它们感到困惑 基本上 我的服务器端需要接受超过100个连接 客户端 这部分是通过使用线程池 通常每个CPU核心2 4个线程 来完成的 为简单起见 我们假设只有一个连接 为了
  • int 类型的构造函数

    考虑到成本 这些情况是否相同 case 1 int a 5 case 2 int a 5 case 3 int a a 5 这三种语法是不同的 请耐心等待 我使用用户定义类型而不是 int 稍后我将回到 int T a 5 Direct i
  • 在运行时将项目添加到 ToolStrip

    您好 我有一个带有 收藏夹 菜单的 ToolStripMenu 我想在运行时在 WinForms 应用程序中添加子项目 我有一个 datagridview 右键单击它会显示一个包含 添加到收藏夹 选项的上下文菜单 当该事件被触发时 我想使用
  • 返回右值 - 这段代码有什么问题? [复制]

    这个问题在这里已经有答案了 我遇到了以下代码片段 std string test std string m Hello return std move m int main std string m test 我知道上面的代码是不正确且不安
  • 当前线程中的单例

    我的单身人士如下 public class CurrentSingleton private static CurrentSingleton uniqueInstance null private static object syncRoo
  • 我应该为每个 Web 请求使用静态缓存的 ResourceManager 还是一个新实例?有关系吗?

    创建新的 NET 对性能 或其他 有何影响 如果有 ResourceManager根据每个请求new ResourceManger myResourceType FullName myResourceType Assembly 与在 Des
  • 如何使用 __m128i 执行元素左移?

    我发现 SSE 移位指令只能在所有元素上移位相同的量 mm sll epi32 mm slli epi32 这些会移动所有元素 但移动量相同 http software intel com sites products documentat

随机推荐

  • C# - 管道式事件模型

    在 ASP NET Web 应用程序中 事件按特定顺序触发 为了简单起见加载 gt 验证 gt 回发 gt 渲染 假设我想开发这样的管道式事件 例子 活动1 观众正在聚集 各位 活动2和活动3请等待 直到我发出信号 事件 1 完成任务后 活
  • Android Studio 无法识别我的设备 - 一加一

    我激活了 开发人员选项 并选中 USB 调试 我在 sdk 上安装了 google usb 驱动程序 但 Android studio 仍然无法识别我的手机 一加一 我在朋友的笔记本电脑上测试了我的手机 它可以工作 当我安装驱动程序时 我的
  • 从回复中读取文本

    HttpWebRequest request WebRequest Create http google com as HttpWebRequest request Accept application xrds xml HttpWebRe
  • 如何使 CLion 自动格式化具有 Google 代码风格的 C++ 代码,并通过 google cpplint 检查

    我需要使用 google 代码样式自动格式化我的 C 代码 并通过 cpplint 检查 我已经使用 L 在 CLion 中自动格式化我的代码 但是格式化后的代码仍然不遵循 google 代码风格 而且我安装了 CLion cpplint
  • Rails 4:具有 has_many 的 CanCanCan 功能:通过关联

    我有一个包含以下模型的 Rails 应用程序 class User lt ActiveRecord Base has many administrations has many calendars through administratio
  • 无法使用 SSH 连接到 docker 容器 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 这个问题似乎不是关于主要由程序员使用的特定编程问题 软件算法或软件工具 help on topic 如果您认为该问题与主题相关另一个 St
  • Zurb 基金会和 IE 8

    下面的 css 示例适用于除 IE8 之外的所有受支持的浏览器 不关注任何低于 IE 8 的浏览器 我正在使用最新版本的 Foundation 当列应该浮动时 它们会在 IE8 中堆叠 实际看到float left 属性应用于样式但它们不浮
  • 在 Mongoose 字符串键中存储 Json 对象

    在我的 Mongoose 架构中 我有一个字符串字段 我希望能够在其中存储 JSON 对象 是否可以 在 Postgres 中 可以将字典存储在字符串列中 我想这样做是因为字典 实际上是 JS 中的 JSON 对象 只是一个简单的读写值 不
  • DatePicker 编辑器模板

    下面是一个 EditorTemplate 它使用以下命令呈现 Bootstrap 日期时间选择器EditorFor助手 我看到的问题是脚本部分 对于一个人来说效果还不错DateTimePicker每个视图 但由于我使用类选择器 每当我使用
  • 如何限制我网站的 API 用户?

    我网站的合法用户偶尔会使用 API 请求攻击服务器 从而导致不良结果 我想设定一个限制 即每 5 秒不超过一次 API 调用或每分钟 n 次调用 尚未弄清楚确切的限制 显然 我可以将每个 API 调用记录在数据库中 并对每个请求进行计算 看
  • 来自终端的 Linux powershell 命令返回命令未找到

    我有一个运行 Ubuntu Server 16 04 且带有 Powershell 的 Linux 机器 如果我从 Linux 终端运行 sudo powershell Invoke Webrequest http ipinfo io js
  • 如何测试在 VB.net TabControl 中选择了哪个选项卡

    我有一个带有两个 TabPage 的 TabControl 我想知道测试当前显示哪个选项卡的最佳方法是什么 我不知道为什么我无法弄清楚这一点 TabControl SelectedTab http msdn microsoft com en
  • F# 查询串联

    我在用SqlDataConnectionF 中的数据提供程序迁移一些行 迁移的一部分是在 3 个表之间进行连接 如下所示 将其视为表的继承A B C where B and C继承自A所以我需要得到的是 类似 Linq Bs Join As
  • 为什么非自定义标头包含在 Access-Control-Request-Headers 中?

    我正在尝试发送跨源请求 就Access Control Request Headers就我而言 我在 FireFox Chrome 和 Safari 中遇到了不同的行为 Chrome Access Control Request Heade
  • 如何在 Netbeans 中设置 java 编译器

    我正在进入 Java7 开发 并且我已将 JDK7 添加到Java 平台并在项目属性中选择它 但是当我编译时 我收到如下消息 warning java lang Boolean class java lang Boolean class m
  • 如何“对齐”2个字符串?

    首先让我解释一下 对齐 的含义 假设我们必须字符串 例如AGBCDEFABCDIEFK 他们的 结盟 是 A G B C D E F A B C D I E F K A B C D E F 另一个 相当简单的 例子 因为我相信我的问题可能与
  • 在 React 中使用 setState 更新对象

    我如何将多个状态传递给setState 这是一个例子 getInitialState function return list newFilm searchWord searchDetails componentDidMount funct
  • 使用javascript在两种颜色之间切换的最佳方法?

    Javascript初学者在这里 我本质上想做一个简单的切换 如果元素是黑色的 请将其更改为白色 如果是白色 请将其更改为黑色 function changeClass if document getElementById myButton
  • std::chrono 在当前日期上添加天数

    我想使用 std chrono 来查找根据过期时间计算未来的日期 过期期限是一个整数 指定 从现在起的天数 那么如何使用 chrono lib 来查找 100 天后的日期呢 假设你有一个time point http en cpprefer
  • `printf("...") || 的语义printf(“…”) || printf("…")`

    我想知道以下语句在 C 中会打印什么 printf hello n printf goodbye n printf world n 我通常习惯使用 cout 在 C 中打印一些内容 此外 我对这种方式使用的管道和双管道运算符感到困惑 谢谢你