Chinaunix首页 | 论坛 | 博客
  • 博客访问: 97509
  • 博文数量: 29
  • 博客积分: 2500
  • 博客等级: 少校
  • 技术积分: 476
  • 用 户 组: 普通用户
  • 注册时间: 2007-12-07 15:10
文章分类

全部博文(29)

文章存档

2011年(1)

2008年(28)

我的朋友

分类: C/C++

2008-09-17 10:41:19

如何在下面的test函数里加入代码可以使程序运行起来输入和输出的相等?
(环境是vc6Debug方式下)

#include<stdio.h>
void test()
{
  int t;
  scanf("%d",&t);
  在这里加入代码
}
int main(void)
{
  int m;
  test();
  printf("m=%d",m);

  return 0;
}

 

-------------------------------------------------------------------------------
某个时刻在我的机器的VC6.0下按F11,跟踪&m 和 &t,结果分别为0x0012ff7c,0x0012ff24,两者相减,可以得出0x00000058,即两者地址相差88字节,故(&t+88/4) = &m, 从而要改变m的值,则*(&m) = *(&t+22) = t即可.即加入代码:*(&t+22) = t;
阅读(920) | 评论(0) | 转发(0) |
0

上一篇:C之文件操作

下一篇:一个死循环???

给主人留下些什么吧!~~