C中“==”运算符的返回值

2023-11-23

我是否可以假设在 C 中,如果两个值相等,“==”运算符将始终计算为 1,或者它可以计算为其他“真”值?

struct ss {
    int id;
};

struct os {
    int sid;
    int state;
};

int count(struct ss *s, int state)
{
    int num = 0;
    // foreach o (of type os*) in a hash table
        num += o->state == state && (s ? o->sid == s->id : 1);

    return num;
}

So o->sid == s->id总是返回 1 或 0,还是可以返回其他值?


我是否可以假设在 C 中,如果两个值相等,“==”运算符将始终计算为 1,或者它可以计算为其他“真”值?

是的,也是如此!= > < >= <=所有关系运算符。

C11(ISO/IEC 9899:201x) §6.5.8关系运算符

每个运算符 (大于)、= 如果指定的关系为真,(大于或等于)应产生 1,如果为真则产生 0 false.107) 结果的类型为 int。

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

C中“==”运算符的返回值 的相关文章

随机推荐

  • 将 float[] 转换为 byte[] 再次转换为 float[]

    所以我在这里想做的是得到一个float 将其转换为byte 将其作为数据报包通过网络发送 然后将其转换回byte 在接收终端 现在我知道我可以转换float to byte 通过使用getBytes 方法 但我不知道如何反转转换 我想你想利
  • 将模板化基类转换运算符引入派生范围

    我有一个基类 它定义了约束模板化转换运算符 struct base template
  • 为什么 .NET 字符串是不可变的? [复制]

    这个问题在这里已经有答案了 众所周知 String是不可变的 String不可变的原因是什么以及引入字符串生成器类是可变的 不可变类型的实例本质上是线程安全的 因为没有线程可以修改它 所以消除了线程以干扰另一个线程的方式修改它的风险 引用本
  • Maven EJB 打包及依赖库

    我面临一个问题 如何使用 JBoss7 应用程序服务器的简单 WAR 和 EJB3 模块正确打包我的企业 EAR 应用程序 问题是 EJB 模块正在使用 XML RPC 库 来自 Apache 但我仍然得到NoDefClassFound 此
  • 浏览器中的 3D 可视化

    我正在寻找网络浏览器中 3D 可视化的解决方案 现在我只需要对这个主题进行研究 即我需要知道存在多少种解决方案 其中哪些是好的 为什么 Thanks 网络上 3D 的简要概述 VRML 一种用于 3D 模型的 HTML 风格标记语言 被认为
  • Delphi XE2 TurboPower 组件状态

    TurboPower 组件是最流行的商业组件库之一 并且在开源后仍然被许多 Delphi 开发人员使用 我不想单独询问 而是想问一个关于每个组件的 XE2 兼容性状态的问题 主要有 TurboPower Abbrvia AsyncPro 和
  • 通过对组内的列进行排序来重新排列数据框

    执行以下任务的好方法是什么 我有一个数据框 例如 v2 lt c 4 5 2 5 3 5 5 5 7 5 6 5 2 5 1 5 3 5 v1 lt c 2 2 3 2 1 2 4 2 2 2 3 2 2 2 1 2 5 2 lvl lt
  • 如何实现保存/加载功能?

    我正在尝试为 Windows 窗体应用程序实现加载 保存功能 我有以下组件 树视图 几个列表视图 几个文本框 几个对象 包含一个大字典列表 我想实现一种将所有这些保存到文件中的方法 并稍后恢复 加载它 最好的方法是什么 我认为 XML 序列
  • UIViewController 子类所需的初始值设定项

    我一直在尝试遵循有关创建容器视图控制器的教程 它是在 Objective C 中 我想将其转换为 Swift 我在这里发现了一些相同的问题 但我没有从中得到太多 这是代码 import UIKit class ContainerViewCo
  • PyQt 进度条直到 100% 才会更新或显示

    EDIT PyQt4 进度条上有许多类似的帖子没有更新 他们都关注线程问题以及程序实际更新窗口的位置 虽然很有帮助 但我的代码结构过于结构化 以至于回复不切实际 这里给出的公认答案很简单 切中要点并且有效 我在 Win 7 x64 机器上使
  • if else 概念在功能文件(Gherkin 语言)中可用吗?

    无论如何 我们可以在功能文件中使用 if else 概念吗 例如 Scenario User should be able to check login page Given I am on login page When I click
  • Chrome 中的 Azure 无限重定向循环

    我有一个 MVC5 Azure 网站 昨晚运行良好 现在 当尝试通过 chrome 登录时 它似乎陷入了无限重定向循环 它在 Edge 和 FireFox 上运行良好 它使用 Azure AD 进行身份验证 重定向从主站点到login mi
  • 在 WebAPI 控制器中序列化 EF Code First 5.0 数据时出错

    我最初问过这个问题 如何解决 指定的包含路径无效 已回答 我的 Include 现在正在工作 但是 当序列化器尝试工作时 它很神奇 我收到以下错误 You must write an attribute type object after
  • Android中使用MediaPlayer播放mp3文件列表

    我在 Android 中使用 MediaPlayer 重现多个 mp3 文件时遇到问题 我能够复制一个文件 但我没有找到任何有用的东西来逐个复制不同的文件 我现在用来重现一个文件的代码是 public MediaPlayer mediaPl
  • 使用 jquery 禁用输入 type="image" 的正确方法是什么?

    使用 jQuery 我尝试禁用这样的输入字段
  • 从两个字符串中获取编辑

    我将深入探讨我的问题 如果您不想阅读所有内容 可以跳至 TL DR 我正在尝试做什么 我需要存储一个 文件 文本文件 可以由用户编辑 如果我有原始文件 这可能是巨大的 Lorem ipsum dolor 坐 amet 用户要进行更改 Foo
  • 收集多组列

    我从一项在线调查中获得了数据 其中受访者回答了 1 3 次问题 调查软件 Qualtrics 将这些数据记录在多个列中 即调查中的 Q3 2 将包含列Q3 2 1 Q3 2 2 and Q3 2 3 df lt data frame id
  • 文本视图中的触摸坐标

    我在文本视图上使用触摸监听器 我可以通过运动事件获取触摸坐标 我可以获取我单击的字符索引或附近的字符坐标吗 Eg Hello Android 这是我的文字 现在我可以获得 x y 坐标 但是我可以获得字符索引吗 A 当我触摸它时 您必须重写
  • Rails 3.1 资产在生产中没有指纹

    刚开始适应rails 3 1 我开始编写coffeescript和sass 开发中一切正常 当我在生产中运行服务器时 我只得到 在页面的源代码中 没有生成哈希码 并且两个资产都有路由错误 Routing Error No route mat
  • C中“==”运算符的返回值

    我是否可以假设在 C 中 如果两个值相等 运算符将始终计算为 1 或者它可以计算为其他 真 值 struct ss int id struct os int sid int state int count struct ss s int s