早教吧作业答案频道 -->其他-->
一个++i的小题目希望得到语法解释intj,i=1;j=++i+(++i);printf("%d\n",j);输出结果是6反汇编相关代码如下0040102Fmoveax,dwordptr[ebp-8]00401032addeax,100401035movdwordptr[ebp-8],eax00401038movecx,dwordptr[ebp-8]004
题目详情
一个++i的小题目希望得到语法解释
int j,i=1;
j=++i+(++i);
printf("%d\n",j);
输出结果是6
反汇编相关代码如下
0040102F mov eax,dword ptr [ebp-8]
00401032 add eax,1
00401035 mov dword ptr [ebp-8],eax
00401038 mov ecx,dword ptr [ebp-8]
0040103B add ecx,1
0040103E mov dword ptr [ebp-8],ecx
00401041 mov edx,dword ptr [ebp-8]
00401044 add edx,dword ptr [ebp-8]
00401047 mov dword ptr [ebp-4],edx
根据反汇编代码可以看出 ++i的结果放到了edx中
当他去取 (++i)表达试的时候却是取的 dword ptr [ebp-8]的值
(按理说应该取ecx的值) 但做最后加法的时候dword ptr [ebp-8]的值已经被改变了
我想得到这个题目的语法解释
我感觉应该是 用 3+2=5
输出5的
实际却是输出6
我使用的VC6编译器
我需要的语法解释
int j,i=1;
j=++i+(++i);
printf("%d\n",j);
输出结果是6
反汇编相关代码如下
0040102F mov eax,dword ptr [ebp-8]
00401032 add eax,1
00401035 mov dword ptr [ebp-8],eax
00401038 mov ecx,dword ptr [ebp-8]
0040103B add ecx,1
0040103E mov dword ptr [ebp-8],ecx
00401041 mov edx,dword ptr [ebp-8]
00401044 add edx,dword ptr [ebp-8]
00401047 mov dword ptr [ebp-4],edx
根据反汇编代码可以看出 ++i的结果放到了edx中
当他去取 (++i)表达试的时候却是取的 dword ptr [ebp-8]的值
(按理说应该取ecx的值) 但做最后加法的时候dword ptr [ebp-8]的值已经被改变了
我想得到这个题目的语法解释
我感觉应该是 用 3+2=5
输出5的
实际却是输出6
我使用的VC6编译器
我需要的语法解释
▼优质解答
答案和解析
是先计算了++i的值后再把两个加起来
第一次 ++i=2; i=2;
第二次 ++i=3; i=3;
i+i=6
例如
#include "stdio.h"
#include "iostream.h"
void main()
{
int i=1,j;
j=i+(++i);
cout
第一次 ++i=2; i=2;
第二次 ++i=3; i=3;
i+i=6
例如
#include "stdio.h"
#include "iostream.h"
void main()
{
int i=1,j;
j=i+(++i);
cout
看了 一个++i的小题目希望得到语...的网友还看了以下:
1.请你把one至nine九个数词填入下面图中的空格内,使等式成立,数字不可重复.□+□=□ □- 2020-05-16 …
e^(2πi*(1/6))=(e^2πi)^(1/6)=1^(1/6)=1e^(2πi*(1/6) 2020-06-12 …
求下面函数的解释,看不懂function A = fun(W)[m,n] = size(W); e 2020-06-27 …
英语单词填空1.时间状语:d-r-n-2.场所:b-s-s-o-f-r--e-a-t-e-t3.教 2020-07-14 …
英语翻译1、OldMacdonaldhadafarm.E-I-E-I-O.Andonthatfarm 2020-11-01 …
(2i11•广州模拟)直接写出得数8.8+i.22=&nbsx;i.n×i.2=i.e-i.n=1÷ 2020-11-01 …
求证e^i(4π/n)+e^i(8π/n)+...+e^i4(n-1)π/n+e^i(4nπ/n)= 2020-11-01 …
2-1设文法G[E]的产生式集为:EàE+T|E-T|TTàT*F|T/F|FFà(E)|i(1)给 2020-11-26 …
英语向高人求教!写几句话.每句开头的第一个字母分别是“L,i,U,F,E,i,F,E,i,w,o,a 2020-12-15 …
英文单词分类填空动物类1.O()t()p()s2.k()t()e()3.l()b()t()r4.a( 2021-02-05 …