我写了下面的函数用于从string..For前删除重复的字符:如果 海峡=“heeello; removeDuplicate(STR)C程序...显示运行时错误
将返回直升机...但它显示了运行时的一些错误。我增加了一些的printf()语句进行调试......谁能告诉我是什么问题?
char* removeDuplicate(char str[])//remove duplicate characters from a string,so that each character in a string is not repeating
{
int i = 0,j;
char ch;
printf("\nstr is %s",str);
while((ch = str[i++])!= '\0')
{
j = i;
printf("\n----ch = %c----",ch);
while(str[j] != '\0')
{
printf("\n--------Checking whether %c = %c \n",str[j],ch);
if(ch == str[j])
{
printf("\n------------Yes");
while(str[j]!='\0')
{
printf("\nRemoving %c %d -- \n",str[j]);
str[j] = str[++j];
--i;
}
break;
}
printf("\n------------No");
//printf("\njj");
j++;
}
}
return str;
}
你可以显示你对这个函数的调用吗? – MByD 2012-03-12 10:34:59
removeDuplicate(“heee”); – 2012-03-12 10:37:12
是的,这是呼叫问题... heee没有\ 0:P ..是它的问题吗? – 2012-03-12 10:39:30