c++中,i+++j表达式中的+如何拆分?
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/13 04:27:01
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表达式中的+如何拆分?
C语言中表达式i +++++ j是否正确
C++中,表达式 i+++j
c语言中分析此表达式,求出表达式的值及变量i,j,k的值(变量初值i=1,j=4,k=5),i=++j,j=++k
关系表达式i+j
labview 中 如何一次性拆分出一位数组中的每个元素
在lingo中如何表示表达式|d(j+1)-d(j)|
@sum(C(i),D(j):C(i)=D(j));请问lingo可不可以这样写表达式呀?
在有机化学中,如何拆分外消旋体
C语言中,如何区分表达式中的除法是整除还是普通除?
为什么C语言中int i=3,j=5;float x=2.5;double y=5.0;表达式i-=j*=x+y的值不是
C语言中 c[I][j] + = a[I][k] * b[k][j]