大家猜猜结果是什么
对堆栈有兴趣的大伙们猜猜看运行的结果是什么,想不出可以拿去运行看看,如果意料的结果和运行的结果相同,并且明白为什么回这样,那么恭喜你,你的水平已经是一般之上了(——请允许我怎么说,因为我的水平就是一般的,也就是说在我的之上咯。^_^)如果运行的结果不是你意料的,那么,一起加油吧,如果程序是我们的爱好,那么这些都将不是问题。
#include "stdafx.h"
int nMain = 0;
void Test()
{
int *ptr = NULL;
ptr = (int *)&ptr;
printf("Test say hello!\n");
ptr++;
#ifdef _DEBUG
ptr++;
ptr++;
#endif
getchar();
*ptr = nMain;
}
void main()
{
int *ptr = NULL;
ptr = (int *)&ptr;
printf("main say hello!\n");
ptr++;
#ifdef _DEBUG
ptr++;
ptr++;
#endif
nMain = *ptr;
*ptr = (int)Test;
}
[ 本帖最后由 yuccn 于 2012-4-21 07:54 编辑 ]