早教吧作业答案频道 -->其他-->
一个++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次,可以得到2层;当对折2次时,可以得到4层;当对折3次时,可 2020-05-23 …
某个命题与自然数n有关,若n=k(k∈N*)时命题成立某个命题与自然数n有关,若n=k(k∈N*) 2020-06-06 …
我们要求上网商找一篇小学语文说课稿,但是找来找去都没有符合要求的.我们要求教学过程要详细,小四字用 2020-06-10 …
0到8的三阶幻方中,得到8个和,这8个和再相加所得到的和最大是多少?把0,1,2,3,4,5,6, 2020-06-16 …
对于一个正整数n,若能找到正整数a,b使得n=a+b+ab,则称n为一个“好数”,例如:3=1+1+ 2020-10-30 …
对于一个正整数n,若能找到正整数a,b使得n=a+b+ab,则称n为一个“好数”,例如:3=1+1+ 2020-10-30 …
阅读下列内容,并答题:我们知道计算n边形的对角线条数公式为n(n-3)2,如果有一个n边形的对角线一 2020-11-20 …
不知道如何用公式表达:0+1+2+3+4+5+6+7+8一直加到n等等;且需要满足条件为:一起加的个 2020-11-20 …
阅读:如果一个非负数x四舍五入到个位后得到非负整数为n,记作“x”=n,例如“0.4”=0,“0.6 2020-12-07 …
如何记英语单词先会牢固?-__-我现在每天都记20个单词,只记得7到8个单词,效率太低拉~求求谁有办 2021-02-19 …