运算符优先级和三元运算符

2024-04-05

我在 C 中遇到了问题。

#include<stdio.h>
int main()
{
    int a = 10, b = 0, c = 7;
    if (a ? b : c == 0)
        printf("1");
    else if (c = c || a && b)
        printf("2");
    return 0;
}

这段代码打印 2 但我认为 a?b:c 返回 b=0 且 0==0 返回 1。你能解释一下代码吗?


条件运算符 (?:) 具有最低优先级之一。特别是它低于==。你的说法的意思是:

if(a ? b : (c == 0)) { ... }

不是这个:

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

运算符优先级和三元运算符 的相关文章

  • 从实体获取单列

    如何从查询中获取单个列而不是整个对象 我可以这样做来获取整个对象 但我想要的只是名称 IList
  • std::list::clear 是否会使 std::list::end 迭代器无效?

    检查这个代码 include stdafx h include
  • .pdbs 会减慢发布应用程序的速度吗?

    如果 dll 中包含 pdb 程序调试 文件 则行号将出现在引发的任何异常的堆栈跟踪中 这会影响应用程序的性能吗 这个问题与发布与调试 即优化 无关 这是关于拥有 pdb 文件的性能影响 每次抛出异常时都会读取 pdb 文件吗 加载程序集时
  • 具有多个谓词的 C++11 算法

    功能如std find if来自algorithmheader 确实很有用 但对我来说 一个严重的限制是我只能为每次调用使用 1 个谓词count if 例如给定一个像这样的容器std vector我想同时应用相同的迭代find if 多个
  • 从时间列表中查找最接近的时间

    所以 这是场景 我有一个带有创建时间的文件 我想从该文件的创建时间最接近或相等的时间列表中选择一个时间 完成此操作的最佳方法是什么 var closestTime listOfTimes OrderBy t gt Math Abs t fi
  • PrivateObject 找不到属性

    我的结构基本上如下所示 abstract class A protected string Identificator get set private void DoSomething DoSomethingSpecific protect
  • 判断串口是普通COM还是SPP

    我正在寻找一种方法来确定 COM 是标准 COM 还是 SPP COM 也称为 COM 设备的电缆替换蓝牙适配器 我有一个可以在 USB COM gt USB 和蓝牙下工作的设备 并且蓝牙接口可以与 SPP 一起工作 我目前正在使用Syst
  • 无法获取本地或参数的值,因为它在此指令指针处不可用,可能是因为它已被优化掉

    Visual Studio 2010 会删除 没有其他词 不安全块中函数参数之一中的数据 什么可能导致此错误 调试器显示以下消息 Cannot obtain value of local or argument as it is not a
  • 从点云检测平面集

    我有一组点云 我想测试3D房间中是否有角落 所以我想讨论一下我的方法 以及在速度方面是否有更好的方法 因为我想在手机上测试它 我将尝试使用霍夫变换来检测线 然后我将尝试查看是否有三条线相交 并且它们也形成了两个相交的平面 如果点云数据来自深
  • 是否可以在Linux上将C转换为asm而不链接libc?

    测试平台为Linux 32位 但也欢迎 Windows 32 位上的某些解决方案 这是一个c代码片段 int a 0 printf d n a 如果我使用 gcc 生成汇编代码 gcc S test c 然后我会得到 movl 0 28 e
  • 如果在代码中添加元素,“FindName”将不起作用

    在 WPF 应用程序中 如果在 XAML 中声明 ContentControl
  • 测验;这个编译了吗?如果是的话它会返回什么(我知道答案)

    我最近发现这个错字 if name find string npos 显然开发者的意思是输入 if name find string npos 但令我惊讶的是发现错误甚至编译 Wall Werror 没有尝试过 pedantic 那么 咖啡
  • 在 mvc4 中创建通用 mvc 视图

    我以前也提过类似的问题 没有得到答案 如何创建一个通用的 mvc4 视图 该视图可以显示传递给它的模型列表或单个模型 模型可以是个人 组织或团体 无论传递给它的是什么 如果您正在寻找类似的东西 model MyViewModel
  • 时间:2019-03-17 标签:c#TimerStopConfusion

    我想通过单击按钮时更改文本颜色来将文本框文本设置为 闪烁 我可以让文本按照我想要的方式闪烁 但我希望它在闪烁几次后停止 我不知道如何在计时器触发几次后让它停止 这是我的代码 public Form1 InitializeComponent
  • 在二进制数据文件的标头中放入什么

    我有一个模拟 可以读取我们创建的大型二进制数据文件 10 到 100 GB 出于速度原因 我们使用二进制 这些文件依赖于系统 是从我们运行的每个系统上的文本文件转换而来的 所以我不关心可移植性 当前的文件是 POD 结构的许多实例 使用 f
  • 解释这段代码的工作原理;子进程如何返回值以及在哪里返回值?

    我不明白子进程如何返回该值以及返回给谁 输出为 6 7 问题来源 http www cs utexas edu mwalfish classes s11 cs372h hw sol1 html http www cs utexas edu
  • 值和类型的简洁双向静态 1:1 映射

    我将从我想象如何使用我想要创建的代码开始 它不必完全像这样 但它是我在标题中所说的 简洁 的一个很好的例子 就我而言 它是将类型映射到相关的枚举值 struct bar foo
  • MSVC编译器下使用最大成员初始化联合

    我正在尝试初始化一个LARGE INTEGER在 C 库中为 0 确切地说是 C 03 以前 初始化是 static LARGE INTEGER freq 0 在 MinGW 下它产生了一个警告 缺少成员 LARGE INTEGER Hig
  • Unity,c++ 本机插件字节数组不匹配

    在我的 C 本机插件中 我有一个调用 vector
  • IDisposable 的显式实现

    虽然有很多关于IDisposable在 SO 上找到 我还没有找到答案 我通常遵循这样的做法 当我的一个班级拥有一个IDisposable对象然后它也实现IDisposable并打电话Dispose在拥有的对象上 然而最近我遇到了一个类 它

随机推荐

  • “Git Bash here”不会保留会话之间的 bash 历史记录[重复]

    这个问题在这里已经有答案了 我在 Windows 7 上运行 Git 1 8 0 preview20121022 并且安装时使用 Git Bash Only 对 Windows cmd 的干扰最小 当我从开始菜单快捷方式打开 Git Bas
  • “order by”在mysql中花费太多时间

    在 MySQL 中 查询中的 order by 花费了很多时间 SHOW PROFILES 显示排序过程所花费的时间 是否有任何设置 解决方法可以减少排序时间 如果您在排序依据的字段上没有索引 请添加一个 在某些情况下 MySQL 可以使用
  • 为什么使用 setattr() 和 getattr() 内置函数?

    通过阅读文档 我确切地了解了什么获取属性 http docs python org 3 3 library functions html getattr and 设置属性 http docs python org 3 3 library f
  • .htaccess 停止内部重定向

    首先这是我的目录结构 localhost p htaccess localhost p inc style css 我有这个片段 localhost p htaccess Options MultiViews FollowSymLinks
  • 为 Windows azure blob 设置 access-control-allow-origin 的任何方法

    我将 json blob 存储在 azure 上 并通过 XHR 访问它 在尝试加载这些 blob 时 我收到此错误 XMLHttpRequest 无法加载http myazureaccount blob core windows net
  • Django enctype="multipart/form-data" 未设置 POST 数据

    我需要发送文件和输入文本中的一些数据 这是我正在处理的表格
  • Python json.dumps TypeError:尝试从变量转换时,“set”类型的对象不可序列化,在硬编码时工作

    我尝试从 python 中的变量创建 JSON 字符串 但我得到了奇怪的行为 当我对 pro 对象进行硬编码时 结果格式良好 rev Package ID bbbbb nBuild nnumber 154 nBuilt n s ver st
  • 如何在 XPath 中选择布尔值节点?

    我有一个 XML 文档和关联的架构 它定义了几个具有以下属性的属性 xs boolean类型 的词汇值xs boolean are true false 1 and 0 所以看来要正确选择具有特定布尔值的属性 我必须编写如下内容 attri
  • ASIHTTPRequest 在 ios8 上导致应用程序崩溃

    这里我使用 JSON 来解析数据ASIHTTPRequest相同的代码在我的较低版本的 iOS 上运行良好 iOs7及以下 但我无法在我的 iOS 8 设备上运行它 日志越来越好 但应用程序崩溃了 可能从服务器得到较晚的回复 它不应该因延迟
  • 展开R公式

    这可能看起来是一个简单的问题 但是有没有快速而可靠的方法来扩展像这样的公式 f formula y a b to y a b ab 我会尝试这个 f y a b reformulate labels terms f f 2 y a b a
  • 使用 HTTP 身份验证和 maven-jaxb2-plugin 生成 WSDL 架构

    我想使用 jaxb2 插件生成可从安全 URL 访问的 WSDL 使用用户 ID 和密码进行基本身份验证 我应该在哪里指定生成架构的凭据 如果不提供它们 我会在架构生成过程中收到一个 401 错误
  • 关于 WCF 通道的困惑

    我对代理和通道感到困惑 根据我的阅读 WCF 客户端使用代理通过一系列通道传递消息 每个通道负责特定的任务 例如一个通道对消息进行编码 另一个通道对其进行加密 当我看到下面的代码时 我的困惑开始了 When proxy MyMethod 叫
  • C++ 异常处理增加了多少占用空间

    这个问题对于嵌入式开发尤其重要 异常处理为生成的二进制输出增加了一些占用空间 另一方面 毫无例外 错误都需要以其他方式处理 这需要额外的代码 最终也会增加二进制大小 我对你的经历很感兴趣 尤其是 您的编译器为异常处理添加的平均占用空间是多少
  • php 中 mysql 的程序实现和面向对象实现有何区别? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • Automapper、MapFrom 和 EF 动态代理

    我一直在尝试将域对象映射到报表视图模型 在测试中一切都很顺利 我伪造了实体框架代码并使用构建器返回完全填充的 pocco 对象 现在我实际上正在访问数据库并返回数据 我看到一些奇怪的动态代理类型错误 这是我的代码示例 public clas
  • Android 可用的 mime 类型?

    经过多次在线搜索 我找不到一个地方可以告诉我 Android 应用程序中不同类型媒体的每种现有 MIME 类型 以下是我所知道的存在且有效的 For Text text plain For Image image jpeg image bm
  • 为什么在asp.net mvc中会话超时后jquery ajax调用失败?

    当我的会话变量中有一个值时 我的ajax调用可以正常工作 但是当会话超时时 它似乎无法返回空的json结果 public JsonResult GetClients int currentPage int pageSize if Sessi
  • Java 编译器用 + 连接替换 StringBuilder

    下面是一些简单的 Java 代码 String s new StringBuilder append a append b append c toString 我使用 JRE 1 6 对其进行编译 并在反编译的类文件中观察到以下内容 Str
  • Woocommerce - 如何删除产品列表上的“添加到购物车”按钮

    我想删除产品列表页面上的 添加到购物车 按钮 我希望它出现的唯一地方是单个产品页面 谁能建议我在哪里可以找到删除它 我无法从文档中获得任何帮助 目前该按钮出现在每个列表下方 我不知道如何从 WooCommerce 执行此操作 但使用以下代码
  • 运算符优先级和三元运算符

    我在 C 中遇到了问题 include