void main()
{
00412050 push ebp
00412051 mov ebp,esp
00412053 sub esp,0F0h
00412059 push ebx
0041205A push esi
0041205B push edi
0041205C lea edi,[ebp-0F0h]
00412062 mov ecx,3Ch
00412067 mov eax,0CCCCCCCCh
0041206C rep stos dword ptr es:[edi]
int x1=1,x2=1;
0041206E mov dword ptr [x1],1
00412075 mov dword ptr [x2],1
int s1,s2;
s1=(x1++)+(x1++)+(x1++);
0041207C mov eax,dword ptr [x1]
0041207F add eax,dword ptr [x1]
00412082 add eax,dword ptr [x1]
00412085 mov dword ptr [s1],eax
00412088 mov ecx,dword ptr [x1]
0041208B add ecx,1
0041208E mov dword ptr [x1],ecx
00412091 mov edx,dword ptr [x1]
00412094 add edx,1
00412097 mov dword ptr [x1],edx
0041209A mov eax,dword ptr [x1]
0041209D add eax,1
004120A0 mov dword ptr [x1],eax
printf("x1=%d\n",x1);
004120A3 mov esi,esp
004120A5 mov eax,dword ptr [x1]
004120A8 push eax
004120A9 push offset string "x1=%d\n" (416660h)
004120AE call dword ptr [__imp__printf (4192F0h)]
004120B4 add esp,8
004120B7 cmp esi,esp
004120B9 call @ILT+355(__RTC_CheckEsp) (411168h)
s2=(++x2)+(++x2)+(++x2);
004120BE mov eax,dword ptr [x2]
004120C1 add eax,1
004120C4 mov dword ptr [x2],eax
004120C7 mov ecx,dword ptr [x2]
004120CA add ecx,1
004120CD mov dword ptr [x2],ecx
004120D0 mov edx,dword ptr [x2]
004120D3 add edx,1
004120D6 mov dword ptr [x2],edx
004120D9 mov eax,dword ptr [x2]
004120DC add eax,dword ptr [x2]
004120DF add eax,dword ptr [x2]
004120E2 mov dword ptr [s2],eax
printf("x2=%d\n",x2);
004120E5 mov esi,esp
004120E7 mov eax,dword ptr [x2]
004120EA push eax
004120EB push offset string "x2=%d\n" (416658h)
004120F0 call dword ptr [__imp__printf (4192F0h)]
004120F6 add esp,8
004120F9 cmp esi,esp
004120FB call @ILT+355(__RTC_CheckEsp) (411168h)
printf("s1=%d,s2=%d\n",s1,s2);
如果你能看懂汇编 就立即了。。这个是反汇编出来的。