蔡諝的窝

博客园 首页 新随笔 联系 订阅 管理

贴代码:

#include <iostream>
using namespace std;
void main()
{
    char *a=(char*)malloc(20*sizeof(char));
    a="ab";
    free(a);
}

---------------------

出错截图:

---------------------

找原因:

把代码改为:

    char *a=(char*)malloc(20*sizeof(char));
    a[0]='a';
    a[1]='b';
    a[2]='\0';
    free(a);

则没有出现上述问题!

---------------------

非常莫名其妙,想不通,希望高手解答!

posted on 2011-09-26 16:36  蔡諝  阅读(234)  评论(0编辑  收藏  举报