6.5.8 关系操作符

语法

1、relational-expression:

shift-expression

relational-expression    <    shift-expression

relational-expression    >    shift-expression

relational-expression    <=    shift-expression

relational-expression    >=    shift-expression

约束

2、应该遵循下列规则之一:

——两个操作数都具有实数类型;或

——两个操作数都是指向兼容对象类型的限定的或非限定版本的指针。

语义

3、如果两个操作数都具有算术类型,那么会执行通常的算术转换。

4、出于这些操作符的目的,一个指向不是一个数组元素的一个对象的指针行为与带有对象类型的长度为1的一个数组的第一个元素具有相同的元素类型。

5、当两个指针被比较时,结果依赖于对象所指的地址空间中的相对位置。如果两个指向对象类型的指针都指向同一个对象,或者两者都指向同一数组对象的超过最后一个元素,那么它们比较结果是相等的。如果所指向的对象是同一聚合对象的成员,指向在稍后声明的结构体成员的指针比起在结构体中之前所声明的成员要大,并且指向带有更大下标值的数组元素的指针比起同一带有更小下表值的数组元素要更大。所有指向同一联合体对象的成员的指针比较为相等。如果表达式P指向一个数组对象的一个元素,并且该表达式Q指向同一数组对象的最后一个元素,那么指针表达式 Q + 1Q要大。在所有其它情况下,行为是未定义的。

6、操作符 < (小于),>(大于),<=(小于等于),以及>=(大于等于)中的每一个应该产生结果1,如果所指定的关系为真;为0,如果它为假。[注:表达式 a<b<c不被解释为通常数学中的表示。正如语法做指示的,这意味着(a<b)<c;换句话说,“如果ab小,则比较1与c;否则,比较0与c。”]结果具有类型int

ISO/IEC 9899:2011 条款6.5.8——关系操作符的更多相关文章

  1. ISO/IEC 9899:2011 条款3——术语、定义与符号

    3. 术语.定义与符号 1.对于此国际标准的意图,应用了以下定义.其它术语是在用斜体类型或一个语法规则左侧出现的地方定义.在本国际标准中所显式定义的术语不被假定为对其它地方所定义的类似术语的隐式引用. ...

  2. ISO/IEC 9899:2011 条款5——5.2.1 字符集

    5.2.1 字符集 1.两个字符集和它们相关联的依次顺序应该被定义:写在源文件中的集合(源字符集),以及在执行环境中被解释的集合(执行字符集).每个集合此外被划分为一个基本字符集,其内容由本子条款给出 ...

  3. ISO/IEC 9899:2011 条款6.4.2——标识符

    6.4.2 标识符 6.4.2.1 通用 语法 1.identifier: identifier-nodigit identifier    identifier-nondigit identifie ...

  4. ISO/IEC 9899:2011 条款6.4.3——通用字符名

    6.4.3 通用字符名 语法 1.通用字符名: universal_character-name: \u hex-quad(四位十六进制数) \U hex-quad hex-quad hex-quad ...

  5. ISO/IEC 9899:2011 条款5——5.1.2 执行环境

    5.1.2 执行环境 1.定义了两个执行环境:独立式(freestanding)以及宿主的(hosted).在这两种情况下,当一个派定的C函数被执行环境调用时,程序就启动.所有具有静态存储周期的对象应 ...

  6. ISO/IEC 9899:2011 条款4——标准顺从

    4. 标准顺从 1.在本国际标准中,“应该”被解释为对一个实现或一个程序的要求:相反地,“不该”被解释为禁用. 2.如果违反了出现在一个强制规定或运行时强制规定之外的“应该”或“不该”要求,那么该行为 ...

  7. ISO/IEC 9899:2011 条款6——语言

    6 语言 6.1 标记法 1.在本条款中所使用的语法标记法.语义类别(非终结符)用斜体字指示,而字面量单词以及字符集成员(终结符)用粗体字指示.跟在一个非终结符后面的冒号(:)引出其定义.在单独的行中 ...

  8. ISO/IEC 9899:2011 条款6.3——转换

    6.3 转换 1.有些操作符将操作数的值自动地从一种类型转换为另一种.本子条款指定了从这么一个隐式转换所要求的结果,以及从一个投射操作(一个显式转换)所要求的结果.在6.3.1.8中所列出的信息概括了 ...

  9. ISO/IEC 9899:2011 条款6.5——表达式

    6.5 表达式 1.一个表达式是操作符与操作数的一个序列,这些操作符与操作数指定了一个值的计算,或指派一个对象或一个函数,或是生成副作用,或执行上述操作的组合.对一个操作符的操作数的值计算顺序排在对该 ...

随机推荐

  1. nginx配置文件服务器 linux

    一,安装nginx服务器 点击打开链接 二,配置nginx服务器   ##测试配置文件   sudo /usr/sbin/nginx -t       ##修改配置文件   ##1. 在nginx文件 ...

  2. C#调用一下CMD

    C#程序调用CMD执行命令   在windows环境下,命令行程序为cmd.exe,是一个32位的命令行程序,微软Windows系统基于Windows上的命令解释程序,类似于微软的DOS操作系统.输入 ...

  3. pycharm 代码跟进以跳回/返回

    方法1 View-->Toolbar-->左上方的左右箭头,可以跳转光标位置,左箭头可以放回 方法2 设置快捷键 setting-->keymap-->Main menu--& ...

  4. java web 向数据库插入中文数据乱码问题

    一.先检查下是 页面返回数据时已经乱码了,还是在插入数据库的时候乱的码. 二.页面返回乱码: 1.  Web.XML  文件配置 <!-- 配置编码过滤器 --> <filter&g ...

  5. 关于跨域介绍和djiago解决跨域问题

    什么是跨域? 跨域,指的是浏览器不能执行其他网站的脚本.它是由浏览器的同源策略造成的,是浏览器对javascript施加的安全限制. 什么是同源策略? 同源策略又分为以下两种 DOM同源策略:禁止对不 ...

  6. StringSequences

    题意: 给出两个长度不超过\(50\)的字符串\(S, T\),每次可以在\(S\)中插入一个字符,把每次操作后的\(S\)写成一个序列,问有多少种不同的序列. 注意到我们可以把\(S\)拆分成一段一 ...

  7. SB的SDOISB记

    恩, SDOI考完 考完. day0 : 上车时看myj费劲跨过行李的样子,嘲讽他腿短.很happy 吃饭时和myj吃了羊肉..汤 虽然贵, 但是意外的好吃 继续嘲讽myj不是男人,吃的少 不知怎么的 ...

  8. CODE FESTIVAL 2016 Final 题解

    传送门 \(A\) 什么玩意儿-- const char c[]={"snuke"}; char s[15];int n,m; int main(){ scanf("%d ...

  9. 64位内核开发第二讲.内核编程注意事项,以及UNICODE_STRING

    目录 一丶驱动是如何运行的 1.服务注册驱动 二丶Ring3跟Ring0通讯的几种方式 1.IOCTRL_CODE 控制代码的几种IO 2.非控制 缓冲区的三种方式. 三丶Ring3跟Ring0开发区 ...

  10. 坑:pytest 运行报错unknown hook 'pytest_namespace' in plugin <module 'allure.pytest_plugin'

    右键运行pytest run时报错,原因是pytest版本过高导致的.有时候会遇到在自己本机没问题,拉取服务器代码下来后就出问题了,所以把pytest版本改低就可以,亲测有效,希望对你有帮助 完整报错 ...