69,382
社区成员
发帖
与我相关
我的任务
分享
if(x == 0)
00411B7E 83 7D 08 00 cmp dword ptr [x],0
00411B82 75 07 jne age+2Bh (411B8Bh)
return 100;
00411B84 B8 64 00 00 00 mov eax,64h
00411B89 EB 0F jmp age+3Ah (411B9Ah)
else
age(x - 1) + 2;/* age前面没有加return ,但执行程序的结果是100?*/
00411B8B 8B 45 08 mov eax,dword ptr [x]
00411B8E 83 E8 01 sub eax,1
00411B91 50 push eax
00411B92 E8 D2 F4 FF FF call age (411069h)
00411B97 83 C4 04 add esp,4
#include <stdio.h>
int age(int n);
main()
{
printf("%d\n", age(3));
getch();
}
int age(int x)
{
return x==0?100:age(x-1)+2;
}
#include <stdio.h>
int age(int n);
main()
{
printf("%d\n", age(3));
getch();
}
int age(int x)
{
if(x == 0)
return 100;
else
return age(x - 1) + 2;
}