69,373
社区成员
发帖
与我相关
我的任务
分享
#include <stdio.h>
void main()
{
int i = 1;
int j = 1; //需要定義兩個變數
if(i++ == ++j)
{
printf("ok1\r\n");
}
if(++i == j++)
{
printf("ok2\r\n");
}
if(i++ == ++j)
{
printf("ok1\r\n");
}
if(++i == ++j)
{
printf("ok3\r\n");
}
}
因該要定義兩個變數
打印出結果為 ok3 應該就是你想要的吧 int i=1;
00E413BE mov dword ptr [i],1
if(i++==++i)
00E413C5 mov eax,dword ptr [i]
00E413C8 add eax,1
00E413CB mov dword ptr [i],eax
00E413CE mov ecx,dword ptr [i]
00E413D1 mov edx,dword ptr [i]
00E413D4 mov eax,dword ptr [i]
00E413D7 add eax,1
00E413DA mov dword ptr [i],eax
00E413DD cmp ecx,edx // 这两 比较的是eac = edx = 2
00E413DF jne wmain+4Dh (0E413EDh)
00E413E1 mov dword ptr [ebp-0D0h],1
00E413EB jmp wmain+57h (0E413F7h)
00E413ED mov dword ptr [ebp-0D0h],0
00E413F7 cmp dword ptr [ebp-0D0h],0
00E413FE je wmain+77h (0E41417h)