当前位置: 代码迷 >> C语言 >> 这样的程序都可以运行,吓死了!!
  详细解决方案

这样的程序都可以运行,吓死了!!

热度:227   发布时间:2007-08-12 12:43:28.0
这样的程序都可以运行,吓死了!!

void Test(void)
{
char *str = (char *) malloc(7);
strcpy(str, "hello");
free(str);
if(str != NULL){
strcpy(str, "worlddddasdfasdfa");
printf(str);
}
}


int main()
{
Test();
system("pause");
return 0;

}

看来垂悬指针真实危险!!


----------------解决方案--------------------------------------------------------
system("pause");
是不是有调用系统函数的程序都危险呢???
----------------解决方案--------------------------------------------------------
不是你所说的问题!!呵呵!!你可以找其他问题!!
----------------解决方案--------------------------------------------------------
这种小儿科的问题就别总往上贴了

----------------解决方案--------------------------------------------------------
以下是引用Skai在2007-8-12 13:38:29的发言:
这种小儿科的问题就别总往上贴了

看来你是高手!!呵呵!!


----------------解决方案--------------------------------------------------------
有什么好吓死的,那是当然可以运行的,只是比较危险.
----------------解决方案--------------------------------------------------------
谢谢指点!!
----------------解决方案--------------------------------------------------------
free(str);他就是野指针了!下面的那个IF语句没点用.
指针不好控制啊
----------------解决方案--------------------------------------------------------
可能破坏其它数据区数据
----------------解决方案--------------------------------------------------------
  相关解决方案