实现:给一个字符串,从原有字符串的基础上去除指定的字符
/*********************************
* 从字符串中去除掉指定的字符
* 1、每个字符都需要比较,所以需要一个循环。指定下标i,每次完成比较后i++
* 2、除了第一个,其他字符都可能移动,i 指定源地址,k指定目标地址。拷贝完k++。(i == k,可以不拷贝)
* 3、考虑边界,比较指针i 访问到字符串边界停止,所以没有拷贝边界到目标地址,存储指针k 需要手动保存边界
* *******************************/
#include <stdio.h>
int main(int argc,char * args)
{
char c,str[30];
int i,k;
scanf("%s",str);
scanf("%s",&c);
printf("%s\t%c\n",str,c);
for(i=k=0;str[i]!='\0';i++)
{
if(str[i] != c)
{
if( k != i)
str[k] = str[i];
k++;
}
}
str[k] = '\0';
printf("%s\n",str);
return 0;
}