num++和++num在逗号表达式中的计算顺序
来源:互联网 发布:便笺软件 编辑:程序博客网 时间:2024/05/21 10:33
先来看一道题:
若有int num = 7, sum = 7;则计算表达式sum = num++, sum++, ++num后sum的值为__
(A)7 (B)8 (C)9 (D)10
答案为:B
对于此题网上有这个解释:https://zhidao.baidu.com/question/355821990.html
最佳答案的解释为:
n = 表达式1,表达式2,表达式3。。。。。。表达式n ==> n = 表达式n
但这个解释是不正确的,若将题目改为:
(1)、int num = 7, sum = 1;
sum = num++, ++num, ++sum;
或
(2)、int num = 7, sum = 7;
sum = ++num, num++;
(代码2请读者自行验证)
若以上面的解释,则sum应该等于2,但实际编译结果为:
sum = 8, num = 9;
所以正确的做法应为:
sum = num++;
sum++;
++num;
也就是说对sum最初赋值有影响的只有“表达式1”,后续的表达式2,表达式3.。。。。。表达式n,不会对等号左侧的n产生影响(除表达式与n有关,如n++;即该例子中:sum++)。
阅读全文
0 0
- num++和++num在逗号表达式中的计算顺序
- 正则表达式 关于/num
- 正则中的/num用法
- 计算x在num中出现的次数
- ++num和num++哪个执行速度更快,++num为什么会比num++速度快
- 数组索引的特殊样式ArrayName[num]和num[ArrayName]
- jqObj.eq(num)和jqObj.get(num)的区别
- ncRNA num
- __align(num)
- max num
- Max Num
- 电话 Num
- Max Num
- num->string
- happy num
- Ugly Num
- HDU2071_Max Num
- python num
- 把网页内容转换为 PDF
- C# 理解lock
- 稀疏结构模型——套索模型、组套索、重叠组套索模型
- sdnu1182.奖学金
- HTML基础 网页结构基础3
- num++和++num在逗号表达式中的计算顺序
- 图的顺序表存储
- 时间管理
- 在MyEclipse2013中使用Maven开发项目(结合MyBatis)
- spring声明式事务管理
- IT界的圣经———《失控 》
- 区间上的凸函数定义
- mysql学习笔记
- 《深入理解Java虚拟机》——类文件结构