来个对vc编译器有深入认识的高手 int a = 6,b = 6,c = 6,d = (++a)+(++a)+(++a),e = (++b)+(++b),f = (++c)+c;问vc实现,d e f 值各是多少,怎么解释。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 d=7+8+9=24e=7+8=15f=7+7=14++a是先自身+1然后赋值,所以第一个就是7,其余相同道理 刚才试了一下d=25;e=16=8+8;f=14=7+7;d怎么来的就不知道了,哪位高手解释一下d编译出的汇编代码。 在C#下试了确实是这种结果啊 d=7+8+9=24 有人能解释一下吗int a = 6, b = 6, c = 6;0000003a mov esi,6 0000003f mov edi,6 00000044 mov ebx,6 int f = (++a) + (++a) + (++a);00000049 inc esi 0000004a mov dword ptr [ebp-58h],esi 0000004d inc esi 0000004e mov eax,dword ptr [ebp-58h] 00000051 add eax,esi 00000053 mov dword ptr [ebp-5Ch],eax 00000056 inc esi 00000057 mov eax,dword ptr [ebp-5Ch] 0000005a add eax,esi 0000005c mov dword ptr [ebp-4Ch],eax 要看参数为(1)左传递(2)右传递注意: C++ 使用之前加 6 : 6 7 ++C 使用之后加 6 :7 7 如C=++C 8 vc调试中的LINK错误怎么解决呢 vc++获得系统时间 精确到毫秒 全局钩子启动了但是屏蔽不了任何消息? 折行符是啥 如何解决窗体拖放过程中造成的闪烁问题!急啊,在线等 怎么在Active控件中增加拖放功能(drap and drop) 绘图 vc的图形编程中,为何不能单步的同时看到客户区所画图形的变化?而cb里面可以的阿。 OLE操作EXCEL中遇到的问题! vc ocx 注册问题 我在MDI程序中创建了两个工具栏,如何使他们并列显示? c++中怎样用一个dtd文件去核对xml是否符合格式?
e=7+8=15
f=7+7=14++a是先自身+1然后赋值,所以第一个就是7,其余相同道理
d=25;
e=16=8+8;
f=14=7+7;
d怎么来的就不知道了,哪位高手解释一下d编译出的汇编代码。
有人能解释一下吗int a = 6, b = 6, c = 6;
0000003a mov esi,6
0000003f mov edi,6
00000044 mov ebx,6
int f = (++a) + (++a) + (++a);
00000049 inc esi
0000004a mov dword ptr [ebp-58h],esi
0000004d inc esi
0000004e mov eax,dword ptr [ebp-58h]
00000051 add eax,esi
00000053 mov dword ptr [ebp-5Ch],eax
00000056 inc esi
00000057 mov eax,dword ptr [ebp-5Ch]
0000005a add eax,esi
0000005c mov dword ptr [ebp-4Ch],eax
(1)左传递
(2)右传递
注意: C++ 使用之前加 6 : 6 7
++C 使用之后加 6 :7 7
如C=++C 8