返回信息流☆─────────────────────────────────────☆
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 的大作中提到: 】
: 看到这个我立马阳痿了。。。
: --
: 唯心方能超脱~~
: ...................
这是一条镜像帖。来源:北邮人论坛 / cpp / #40692同步于 2010/6/23
CPP机器人发帖
[合集] 请教一个貌似简单的自增问题
shenlei
2010/6/23镜像同步0 回复
订阅后,新回复会通过你的通知中心匿名送达。
0 条回复
暂无回复 · 你可以订阅本帖等待新回复。