65,186
社区成员




#include <stdio.h>
int P(const char* ch)
{
printf("%s\n",ch);
return 0;
}
int main(int argc, char* argv[])
{
char str[][10] = {"第一项","第二项"};
int i = 0;
int b = P(str[i++]) + P(str[i++]);
getchar();
return 0;
}
int i = 0;
004115A2 mov dword ptr [ebp-28h],0
int b = P(str[i++]) + P(str[i++]);
004115A9 mov eax,dword ptr [ebp-28h]
004115AC imul eax,eax,0Ah
004115AF lea ecx,[ebp+eax-1Ch]
004115B3 mov dword ptr [ebp-0FCh],ecx
004115B9 mov edx,dword ptr [ebp-28h]
004115BC add edx,1
004115BF mov dword ptr [ebp-28h],edx
004115C2 mov eax,dword ptr [ebp-28h]
004115C5 imul eax,eax,0Ah
004115C8 lea ecx,[ebp+eax-1Ch]
004115CC mov dword ptr [ebp-100h],ecx
004115D2 mov edx,dword ptr [ebp-28h]
004115D5 add edx,1
004115D8 mov dword ptr [ebp-28h],edx
004115DB mov eax,dword ptr [ebp-100h] //重点是这里把第二次操作的数据先压栈
004115E1 push eax //看压栈顺序
004115E2 call P (41112Ch)
004115E7 add esp,4
004115EA mov esi,eax
004115EC mov ecx,dword ptr [ebp-0FCh] //把第一次操作数据压栈
004115F2 push ecx //看压栈顺序
004115F3 call P (41112Ch)
004115F8 add esp,4
004115FB add eax,esi
004115FD mov dword ptr [ebp-34h],eax
return 0;
int i = 0;
cout << i++ << i++ <<endl;