早教吧 育儿知识 作业答案 考试题库 百科 知识分享

c++中,i+++j表达式中的+如何拆分?它们的拆分规则是如何定义的?

题目详情
c++中,i+++j表达式中的+如何拆分?
它们的拆分规则是如何定义的?
▼优质解答
答案和解析
一楼说的是对的.根据具体编译器有所不同!而不是理论上的(i++)+j这种样子.
实际中,首先要避免这种情况发生,自己加上个括号,多按两个键死不了!另外,如果想自己验证到底是怎么个执行顺序,最简单有效的办法就是反汇编.
在Visual C++ 2008中,反汇编结果如下:
sum = i+++j;
00BE13A3 mov eax,dword ptr [i]
00BE13A6 add eax,dword ptr [j]
00BE13A9 mov dword ptr [sum],eax
00BE13AC mov ecx,dword ptr [i]
00BE13AF add ecx,1
00BE13B2 mov dword ptr [i],ecx
于是一下子就看出来,先做的操作是i+j,然后是i++.也就是Visual C++编译器解释它为:(i++)+j.
看了 c++中,i+++j表达式中...的网友还看了以下:

植物体中具有分裂增生细胞功能的组织是()A、输导组织如导管B、保护组织如表皮C、营养组织如果肉D、  2020-05-04 …

下列选项中,对“只有内正其心外修其行,才能表里如一”的理解不正确的是()A.若能内正其心外修其行,  2020-06-19 …

(2009•苏州)如图为反射弧的结构模式图.下列有关叙述中,不正确的是()A.若如图表示膝跳反射的  2020-06-28 …

如表是C、H、O、N、P、S占人体细胞干重和鲜重的百分比,请分析回答下列问题.元素OCHNPS占细  2020-07-06 …

如图表示人体血液中某物质浓度的变化,请判断下列说法中,不正确的是()A.如果Y表示血液中尿素的浓度  2020-07-21 …

如何用c#正则表达式根据“姓名”与“年龄”两个关键词取出如下文件姓名如何用c#正则表达式根据“姓名  2020-07-23 …

甲表有A、B二列,同列内为不重复数值;乙表有C、D二列,C列为不规则重复的数值,B列空白.求:如果  2020-07-23 …

如图是血液流经某器官的示意图,下列表述错误的是()A.若b表示心脏,则c中的物质成分基本无变化B.  2020-07-29 …

已知火车站托运行李的费用C和托运行李的重量P(千克)(P为整数)的对应关系如下表则C与P的对应关系为  2020-12-15 …

已知abc为三个有理数,他们的在数轴上对应的位置如图,则|c-b|-|b-a|-|a-c|=  2021-01-16 …