ISO/IEC 9899:2011 条款6.5.9——相等操作符
6.5.9 相等操作符
语法
1、equality-expression:
relational-expression
equality-expression == relational-expression
equality-expression != relational-expression
约束
2、要遵守下列规则之一:
——两个操作数都具有算术类型;
——两个操作数都是指向兼容类型的限定或非限定版本的指针;
——其中一个操作数是指向一个对象类型的一个指针,而另一个是指向一个限定或非限定版本的void的指针;或者
——一个操作数是一个指针,而另一个是一个空指针常量。
语义
3、==(相等)与!=(不等)操作符类似于关系操作符,除了它们它们具有更低的优先级。[注:因为优先级,a<b == c<d 结果是1,每当a<b和c<d具有相同的布尔值时。]每个操作符产生1,如果指定的关系为真;产生0,如果指定的关系为假。结果具有int类型。对于任一对操作数,恰好其中一个关系为真。
4、如果两个操作数都具有算术类型,那么执行通常的算术转换。当且仅当两个复数的实部与虚部都分别相等,那么复数类型的这两个值相等。任意来自不同类型域的算术类型的两个值相等,当且仅当它们转换到由通常的算术转换所确定的(复数)结果类型的结果相等。
5、否则,至少其中一个操作数是一个指针。如果一个操作数是一个指针,而另一个是一个空指针常量,那么空指针常量被转换为该指针的类型。如果一个操作数是一个指向对象类型的一个指针,且另一个是指向限定的或非限定版本的void的指针,那么前者将被转换为后者的类型。
6、当前仅当两个指针都是空指针,两个指针都是指向同一对象的指针(包括一个指向一个对象的指针而另一个指向一个子对象的起始位置)或指向同一函数,两个指针都是指向同一数组对象超过最后一个元素的指针,那么这两个指针比较为相等。
7、出于对这些操作符的目的,一个指向一个对象的指针,该对象不是一个数组的一个元素,行为与指向长度为1的,将该对象类型作为其元素类型的数组的第一个元素一样。
ISO/IEC 9899:2011 条款6.5.9——相等操作符的更多相关文章
- ISO/IEC 9899:2011 条款6.5.17——逗号操作符
6.5.17 逗号操作符 语法 1.expression: assignment-expression expression , assignment-expression 语义 2.一个 ...
- ISO/IEC 9899:2011 条款6.5.16——赋值操作符
6.5.16 赋值操作符 语法 1.assignment-expression: conditional-expression unary-expression assignment-opera ...
- ISO/IEC 9899:2011 条款6.5.6——加法操作符
6.5.6 加法操作符 语法 1.additive-expression: multiplication-expression additive-expression + multipli ...
- ISO/IEC 9899:2011 条款6.5.15——条件操作符
6.5.15 条件操作符 语法 1.conditional-expression: logical-OR-expression logical-OR-expression ? expres ...
- ISO/IEC 9899:2011 条款6.5.5——乘法操作符
6.5.5 乘法操作符 语法 1.multiplicative-expression: cast-expression multiplicative-expression * cast-e ...
- ISO/IEC 9899:2011 条款6.5.4——投射操作符
6.5.4 投射操作符 语法 1.cast-expression: unary-expression ( type-name ) cast-expression 约束 2.除非类型名 ...
- ISO/IEC 9899:2011 条款6.5.2——后缀操作符
6.5.2 后缀操作符 语法 1.postfix-expression: primary-expression postfix-expression [ expression ] p ...
- ISO/IEC 9899:2011 条款3——术语、定义与符号
3. 术语.定义与符号 1.对于此国际标准的意图,应用了以下定义.其它术语是在用斜体类型或一个语法规则左侧出现的地方定义.在本国际标准中所显式定义的术语不被假定为对其它地方所定义的类似术语的隐式引用. ...
- ISO/IEC 9899:2011 条款5——5.2.1 字符集
5.2.1 字符集 1.两个字符集和它们相关联的依次顺序应该被定义:写在源文件中的集合(源字符集),以及在执行环境中被解释的集合(执行字符集).每个集合此外被划分为一个基本字符集,其内容由本子条款给出 ...
随机推荐
- 剑指Offer(三十六):两个链表的第一个公共结点
剑指Offer(三十六):两个链表的第一个公共结点 搜索微信公众号:'AI-ming3526'或者'计算机视觉这件小事' 获取更多算法.机器学习干货 csdn:https://blog.csdn.ne ...
- 使用AutoIt实现文件上传
在网页上上传文件的时候,Selenium无法直接操作如Flash.JavaScript 或Ajax 等技术所实现的上传功能,这时候我们需要借用一个叫做AutoIt的软件来帮助我们事先自动化的上传操作. ...
- JOIN序列化过程中日期的处理
一.在后台进行处理: System.Web.Script.Serialization.JavaScriptSerializer js = new System.Web.Script.Serializa ...
- TP5.x——initialize()中如何return
前言 首先在tp框架中initialize中是无法直接通过return来返回任何值的,return并不会造成脚本的中断! 环境:PHP 7.0.4 | TP5.1 说明 initialize方法 首先 ...
- js中string常用方法
charAt(index) 用于返回指定位置的字符,index从0开始计算 concat(string1,string2..),用于字符串拼接: indexOf():用于返回指定字符在字符串中第一次出 ...
- windows 使用SVN命令
在不用安装TortoiseSVN客户端的情况,大家可以再http://subversion.apache.org/packages.html#windows 找到windows下的svn客户端工具.选 ...
- C语言malloc的用法及详解
#include <stdio.h> #include <stdlib.h> void freem(int* p){ #include <stdio.h> #inc ...
- 洛谷P5098 洞穴里的牛之三
题目 贪心,可以用分类讨论的方法,可以得出如果\(n^2\)枚举则会过不了,而我们观察原题中的式子,有: \(∣x1−x2∣+∣y1−y2∣\) 发现式子中的绝对值很恶心,而考虑如果没有绝对值的话会有 ...
- 在Tex live和Beamer环境下编译中文
在Tex live和Beamer环境下编译中文时,容易出现缺少$的提示错误.它有可能是由于特殊字符所致,如下划线: 也有可能是插图有误所致.
- 「SCOI2011」棘手的操作
传送门 Description 有\(N\)个节点,标号从\(1\)到\(N\),这\(N\)个节点一开始相互不连通.第$ i\(个节点的初始权值为\)a_i$ ,接下来有如下一些操作: U x y ...