首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

麻烦看下,这个程序哪有有关问题?内存错在哪了?多谢

2012-04-07 
麻烦看下,这个程序哪有问题?内存错在哪了?谢谢//将字符串中连续的字母归并为一个,例如aaabbcdd - abcdvoi

麻烦看下,这个程序哪有问题?内存错在哪了?谢谢
//将字符串中连续的字母归并为一个,例如aaabbcdd -> abcd
void Fun(const char *a)
{
if(a == NULL)
return;
int len = sizeof(a);
char *p = new char[len];
if(p == NULL)
return;
memset(p,0,len);

while((*a) != '\0')
{
int i = 0;
while(*(p+i) != 0)
{
if(*(p+i) == *a)
break;
i++;
}
if(i==strlen(p))
*(p + i) = *a;
a++;
}
cout <<p;
delete []p;
p = NULL;
}

[解决办法]
int len = sizeof(a); 
char *p = new char[len]; 

int len = strlen(a); 
char *p = new char[len+1];

热点排行