早教吧作业答案频道 -->其他-->
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.
实际中,首先要避免这种情况发生,自己加上个括号,多按两个键死不了!另外,如果想自己验证到底是怎么个执行顺序,最简单有效的办法就是反汇编.
在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.E.F.G.H.I.J分别代表0-9中不同的数字切满足下等式1,E*E=HE: 2020-05-14 …
某系统的初状态具有内能J焦,在外界对它做J/2焦的功后,它放出J/5卡的热量,系统在这个过程中内能 2020-05-17 …
“鞠躬尽瘁”的正确拼写形式是( )。A.jū gōng jìn cuìB.jū gōng jìng 2020-05-31 …
(九0j0•南县)青海省玉树县九0j0年它月j它日晨发生两次地震,最高震级7.j级.央视抗震救灾晚 2020-06-21 …
A.作揖(yī)规矩(jǔ)茅草(máo)锣响(luó)B.簇拥(cù)捷报(jié)淋漓(lín 2020-06-26 …
A.天津(jīn)绰(chào)号规矩(jū)吃荤(hūn)B.发蔫(niān)褒(bǎo)贬擅( 2020-06-28 …
下列划线词语注音正确的一项是A.规矩(jū)汗涔涔(cén)惊愕(è)樟(zhāng)木B.克扣( 2020-07-05 …
给出一棵树的逻辑结构T=(K,R),其中K={A,B,C,D,E,F,G,H,I,J}R={r}r 2020-07-22 …
在平直公路上,自行车与同方向行驶j一辆汽车在t=0时同时经过某一个路标,它们j位移r(m)随时间t( 2020-12-27 …
A.赍发(jī)盘缠(chan)玷辱(diàn)胭脂(zhǐ)B.尴尬(gà)口呐(nà)髭须(xī 2021-01-14 …