首页
社区
课程
招聘
[旧帖] [求助]帮我看看这几句代码的意思 0.00雪花
发表于: 2008-4-15 11:55 3218

[旧帖] [求助]帮我看看这几句代码的意思 0.00雪花

2008-4-15 11:55
3218
在网上看到的一个题,就是要让输出和输入的一样,答案是红色部份:
#include <stdio.h>

void test()
{
  int t;
  scanf("%d", &t);
  _asm
  {
    add esp, 0xA8
    push t
    sub esp, 0xA4
  }  

}

void main()
{
  int m;
  test();
  printf("m=%d", m);
}
我就不知道为什么要加上0XA8,我觉得应该是加上0xC,有人知道这0xA8是怎么算出来的吗?

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
学过C,
但这个我看不懂

三位的是8进制
四位的是16进制。
我想一定不是三位吧!
2008-4-15 12:22
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
8进制数字前加0,16进制数字前加0x,这题和进制没关系,主要是压栈的问题
2008-4-15 14:25
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4

我说了不懂。不要见怪。
2008-4-16 12:57
0
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
可能是test()函数的堆栈调用所用到的指令吧,也许可以用工具反汇编看看!
2008-4-16 22:39
0
游客
登录 | 注册 方可回帖
返回
//