addr=new char[strlen(b)]; 在这里进行动态分配内存地址时应该多分配一个字节的内存。 没有设置这一位时delete [] addr可能删除 分配的内存以外 一直到'\0'为止的内存。 这是不行的 addr=new char[strlen(b)+1]; 因为字符串实际是以'\0'来标识的。多设置的这一位就是'\0http://zhidao.baidu.com/link?url=KuAWR5mziPG6sRJTMtIdw4syct6qYPCIRQZvLrqNwrhR551izkHeubRVoPGIm8WI7O9p4h9lZVYQ7knx0ft6uK