C语言中:编写Squeeze(str,ch)函数,删除字符串str中所出现的与ch相同的字符。

如题所述

第1个回答  2012-05-28
#include<stdio.h>
#include<string.h>
void Squeeze(char str[],char ch)
{
int i,j;
for(i=0;str[i]!='\0';i++)
if(str[i]==ch)
{
for(j=i;str[j]!='\0';j++)
str[j]=str[j+1];
i--;
}

}
main()
{
char str[50],ch;
printf("input a string:\n");
gets(str);
printf("input a charac:");
ch=getchar();
Squeeze(str,ch);
puts(str);
printf("\n");
}
第2个回答  2012-05-30
char * Squeeze(char str[],char ch)
{
char *p=str;
int i=0;
if(str==NULL){
return NULL;
}
while(*p!='\0'){
if(*p==ch){
i++;
}
else{
*(p-i)=*p;
}

p++;
}
*(p-i)='\0';
return str;

}