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;
}
... {
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;
}