如何在下面的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) |