BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / cpp / #40692同步于 2010/6/23
CPP机器人发帖

[合集] 请教一个貌似简单的自增问题

shenlei
2010/6/23镜像同步0 回复
☆─────────────────────────────────────☆ xuli (home) 于 (Tue Jun 22 09:56:57 2010) 提到: 因为遇见一个题目不太确定,在机器上试了试发现当时答案是对的。又多输入了几个例子研究,就被弄迷糊了。对答案很不解。下面是源代码和运行答案。麻烦解答下。 #include <stdio.h> void main() { int a=0; printf("%d\n",(a++)+(a++)+(a++)+(a++)+(a++)); a=0; printf("%d\n",(a++)+(++a)); a=0; printf("%d\n",(a++)+(a++)+(++a)); a=0; printf("%d\n",(++a)); a=0; printf("%d\n",(a++)+(++a)+(++a)); a=0; printf("%d\n",(++a)+(++a)); a=0; printf("%d\n",(++a)+(++a)+(++a)); } 运行结果: 0 2 1 1 4 4 7 Press any key to continue ☆─────────────────────────────────────☆ DrJan ( DrJan) 于 (Tue Jun 22 10:07:42 2010) 提到: 0 2 3 1 6 4 9 VS2010 看反汇编 ☆─────────────────────────────────────☆ xuli (home) 于 (Tue Jun 22 10:10:40 2010) 提到: 什么意思?这是新的运行结果么?我在vc6.0和decv++4.9.9.2中运行都是上面的结果啊。 【 在 DrJan 的大作中提到: 】 : 0 2 3 1 6 4 9 : VS2010 看反汇编 : -- : ................... ☆─────────────────────────────────────☆ DrJan ( DrJan) 于 (Tue Jun 22 10:13:10 2010) 提到: 我在VS2010的运行结果 printf("%d\n",(a++)+(a++)+(++a)); 00D9144F mov eax,dword ptr [a] 00D91452 add eax,1 00D91455 mov dword ptr [a],eax 00D91458 mov ecx,dword ptr [a] 00D9145B add ecx,dword ptr [a] 00D9145E add ecx,dword ptr [a] 00D91461 mov dword ptr [ebp-0D0h],ecx 00D91467 mov edx,dword ptr [a] 00D9146A add edx,1 00D9146D mov dword ptr [a],edx 00D91470 mov eax,dword ptr [a] 00D91473 add eax,1 00D91476 mov dword ptr [a],eax 00D91479 mov esi,esp 00D9147B mov ecx,dword ptr [ebp-0D0h] 00D91481 push ecx 00D91482 push offset string "%d\n" (0D9573Ch) 00D91487 call dword ptr [__imp__printf (0D982B0h)] 00D9148D add esp,8 00D91490 cmp esi,esp 00D91492 call @ILT+295(__RTC_CheckEsp) (0D9112Ch) 呃 这个问题其实意义不是特别大 【 在 xuli 的大作中提到: 】 : 什么意思?这是新的运行结果么?我在vc6.0和decv++4.9.9.2中运行都是上面的结果啊。 : 【 在 DrJan 的大作中提到: 】 : : 0 2 3 1 6 4 9 : ................... ☆─────────────────────────────────────☆ xuli (home) 于 (Tue Jun 22 10:17:18 2010) 提到: 谢谢了。是不是可以理解为编译过程不同造成的。我也看到手边一本书说这么多连着写没太大意义,一般不会出现这样的情况。那就不深究了。 【 在 DrJan 的大作中提到: 】 : 我在VS2010的运行结果 : printf("%d\n",(a++)+(a++)+(++a)); : 00D9144F mov eax,dword ptr [a] : ................... ☆─────────────────────────────────────☆ DrJan ( DrJan) 于 (Tue Jun 22 10:18:54 2010) 提到: 我猜和编译器有关 没有特殊需求确实没人这么写 【 在 xuli 的大作中提到: 】 : 谢谢了。是不是可以理解为编译过程不同造成的。我也看到手边一本书说这么多连着写没太大意义,一般不会出现这样的情况。那就不深究了。 : 【 在 DrJan 的大作中提到: 】 : : 我在VS2010的运行结果 : ................... ☆─────────────────────────────────────☆ xuli (home) 于 (Tue Jun 22 10:20:22 2010) 提到: 嗯。谢谢了。 【 在 DrJan 的大作中提到: 】 : 我猜和编译器有关 没有特殊需求确实没人这么写 : 【 在 xuli 的大作中提到: 】 : : 谢谢了。是不是可以理解为编译过程不同造成的。我也看到手边一本书说这么多连着写没太大意义,一般不会出现这样的情况。那就不深究了。 : ................... ☆─────────────────────────────────────☆ jmpesp (卡实冻袂条~~ ) 于 (Tue Jun 22 15:20:09 2010) 提到: 看到这个我立马阳痿了。。。 ☆─────────────────────────────────────☆ DrJan ( DrJan) 于 (Tue Jun 22 15:34:54 2010) 提到: 围观萎哥 【 在 jmpesp 的大作中提到: 】 : 看到这个我立马阳痿了。。。 : -- : 唯心方能超脱~~ : ................... ☆─────────────────────────────────────☆ jmpesp (卡实冻袂条~~ ) 于 (Tue Jun 22 15:35:55 2010) 提到: 【 在 DrJan 的大作中提到: 】 : 围观萎哥 围观你 ☆─────────────────────────────────────☆ loveway2008 (仙人板板ws男 || eva.破 || 菅野よう子) 于 (Tue Jun 22 16:44:14 2010) 提到: zz。。。 ☆─────────────────────────────────────☆ gootyking (『热情一顶乐团』团长|回帖终结者A1) 于 (Tue Jun 22 18:33:40 2010) 提到: 呃 【 在 jmpesp (卡实冻袂条~~ ) 的大作中提到: 】 : 看到这个我立马阳痿了。。。 ☆─────────────────────────────────────☆ rainblue (everyday BUPT & BYR) 于 (Tue Jun 22 22:43:18 2010) 提到: 高手,你都那啥了。。。。 【 在 jmpesp 的大作中提到: 】 : 看到这个我立马阳痿了。。。 : -- : 唯心方能超脱~~ : ...................
订阅后,新回复会通过你的通知中心匿名送达。
0 条回复
暂无回复 · 你可以订阅本帖等待新回复。