C语言编写一个函数,将字符串中连续重复出现的字符去除

如题所述

C语言自定义函数,一次性去除连续重复字符,参考代码如下:
#include<stdio.h>
char *fun(char *str)
{
int i=1,j=0;
if(str==NULL)
return NULL;
if(str[0]==0)
return str;
while(str[i]!=0)
if(str[j]!=str[i])
str[++j]=str[i++];
else ++i;
str[j+1]=0;
return str;
}
int main()
{
char str[500];
gets(str);
puts(fun(str));
return 0;
}追答

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-02-18
int main()
{
char a[50];
int n=0,i=0,j;
scanf("%s",a);
printf("源:\n%s\n",a);
int find;
while(a[i]!='\0')
{
find=0;
for(j=0;j<n;j++)
{
if(a[i]==a[j])
{
find=1;
break;
}
}
if(find==0)
{
a[n++]=a[i];
}
i++;
}
a[n]='\0';
printf("\n处理后:\n%s",a);
return 0;
}