char *delete_adjacent_char1(char *str)

...{
if(str==NULL)
return NULL;

int i=0,j=0;
int len=strlen(str);
for(j=i+1;j<len;j++)

...{
if(str[i]!=str[j])
str[++i]=str[j];
}
str[i+1]=0;

return str;
}

//2,3相同,只不过一个用while一个用for
char *delete_adjacent_char2(char *str)

...{
if(str==NULL)
return NULL;

char *p=str;
char *q=p+1;
while(*q)

...{
if(*p!=*q)

...{
p++;
*p=*q;
q++;
}
else

...{
q++;
}
}
*(p+1)=0;
return str;
}

//用for代码简洁
char *delete_adjacent_char3(char *str)

...{
if(str==NULL)
return NULL;

char *p=str;
char *q=p+1;
for(;*q;q++)

...{
if(*p!=*q)

...{
p++;
*p=*q;
}
}
*(p+1)=0;

return str;
}






































































