i=5 (++i)+(++i)+(++i)=? 求详解

答案是22... 答案是22 展开
 我来答
匿名用户
2013-04-15
展开全部
(++i)+(++i)+(++i)

这是涉及到++的运算问题。
++放变量前面,如++i,是指将(i+1)执行后用得到的值插入运算。
如题目中,就是执行第一个++i,得到6;再执行第二个++i,得到7;然后是最后一个,得到8;
最后,将6,7,8代入式子中相加,得到6+7+8=21。此时,i=8。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Caspar_wj
2013-04-15 · TA获得超过163个赞
知道小有建树答主
回答量:137
采纳率:0%
帮助的人:83.1万
展开全部
21;
首先 i=5;
++i表达式=i+1,此时i=i+1
i++表达式=i,此时i=i+1

所以上次公式(++i)+(++i)+(++i)=6+7+8=21;
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tsaoqi
2013-04-15
知道答主
回答量:8
采纳率:0%
帮助的人:13.3万
展开全部
这是涉及到++的运算问题。
++放变量前面,如++i,是指i=i+1的意思。
如题目中,就是执行第一个++i,得到6;再执行第二个++i,得到7;然后是最后一个,得到8;
最后,将6,7,8代入式子中相加,得到6+7+8=21。此时,i=8。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
易非凡m
2013-04-15 · 超过21用户采纳过TA的回答
知道答主
回答量:50
采纳率:0%
帮助的人:55.7万
展开全部
答案是22。
追问
求详解
追答
13:       int i=5;
00406987 mov dword ptr [ebp-8],5
14: cout << (++i)+
15: (++i)+
16: (++i) << endl;
0040698E push offset @ILT+275(std::endl) (00401118)
00406993 mov eax,dword ptr [ebp-8]
00406996 add eax,1
00406999 mov dword ptr [ebp-8],eax
0040699C mov ecx,dword ptr [ebp-8]
0040699F add ecx,1
004069A2 mov dword ptr [ebp-8],ecx
004069A5 mov edx,dword ptr [ebp-8]
004069A8 add edx,dword ptr [ebp-8]
004069AB mov eax,dword ptr [ebp-8]
004069AE add eax,1
004069B1 mov dword ptr [ebp-8],eax
004069B4 add edx,dword ptr [ebp-8]
004069B7 push edx
这是C++和汇编代码,它的结果是7+7+8.这结果在vc6.0的结果,在vs2008是24.估计是编译器的原因。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式