复合表达式“*a++=*b++”的求解顺序和操作符优先级的关系
来源:互联网 发布:相亲吃饭谁买单 知乎 编辑:程序博客网 时间:2024/05/16 05:03
操作数的分组结合方式取决于操作符的优先级和结合性,优先级和结合性决定了表达式的那个部分用作那个操作数。优先级规定的是操作数的结合方式,但并没有说明操作数的计算顺序。在大多数情况下,操作数一般以最方便的次序求解。
这个表达式*a++=*b++根据操作符的优先级,可以进行如下分组((*(a++))=(*(b++))),后自加(a++)操作符在当前表达式中使用未加一的值,然后再将加一后的值赋值给操作变量(a)。下面的代码演示了后自加操作符的时候:
#include <iostream>using namespace std;void main(){int *a=new int[2];a[0]=9;a[1]=10;int *b=new int[2];b[0]=90;b[1]=100;//cout<<*(b++)<<endl;*a++=*b++;a--;cout<<a[0]<<" "<<a[1]<<endl;}
输出结果为:
90 10Press any key to continue
表达式:*a++=*b++操作的是数组的0号位的变量,操作后a和b指向了数组的1号位。
- 复合表达式“*a++=*b++”的求解顺序和操作符优先级的关系
- 代码优化:使用复合赋值运算符提供性能:a=a+b和a+=b的性能区别
- C/C++中操作符的优先级和求值顺序
- 谜题1.6 操作符的优先级和求值顺序
- C/C++中操作符的优先级和求值顺序
- C++ 浅谈操作符的优先级和结合顺序
- 正则表达式的优先级顺序
- 正则表达式的优先级顺序
- 正则表达式的优先级顺序
- 一个证明表达式的求值顺序只是部分由操作符的优先级决定的程序
- 小心a>b和a-b>0的关系
- 了解正则表达式操作符的优先级
- cout的输出顺序与其中表达式的执行顺序,以及自增操作优先级
- C++primer 5.10复合表达式的求值--优先级
- 求解集合A和集合B的差集
- 表达式的优先级/结合性/求值顺序
- 赋值操作符与关系操作符的优先级
- 数据结构笔记(一)线性表的顺序表示和基本操作及其顺序表实现的集合运算(A-B)U(B-A)实例
- JVM加载class文件的原理机制
- 多数据源的MapReduce作业(一)--Reduce侧的联结
- Linux基础(三):多重引导
- common fileupload实例
- Android 编辑框(EditText)属性
- 复合表达式“*a++=*b++”的求解顺序和操作符优先级的关系
- Centos安装KDE
- 线性表--顺序实现方式
- 不定参数的应用
- centos6.3 解压缩
- 专题4-4.C语言中的字符串(国嵌C语言视频)
- android-ui-utils
- 博客分配
- printf函数实现原理