tebi 发表于 2011-3-22 16:56:40

几经周折并未搞懂的字符串删除字符问题,望老师高手指点下?

#include<stdio.h>
#include<string.h>
void main()
{
char s;

char ch;


void delchar(char x,char y);


printf("Pleas input some charactes:\n");
gets(s);


printf("Please input a character:\n");
ch=getchar();


delchar(s,ch);

}
void delchar(char x,char y)
{
int i=0;
while(x!='\0'){
        if(x==y){
strcpy(x+i,x+i+1);
i++;}
}
puts(x);
}

小甲鱼 发表于 2011-3-25 14:05:57

if( x == y )
{
       strcpy( x+i, x+i+1 );
       i++;
}
// 关键在于这一句,如果遍历到要删除的字符(例如'x'),则将该字符在数组中对应的位置去掉……方法是用下一个覆盖上一个数组索引。
例如'x'在数组x中,则将x替换x,x替换x依次往下排,虽然有点没效率,但不失为一种稳定的方法。

zhangtpku 发表于 2011-3-25 15:44:38

嗯,我竟然看懂了

鱼C工作室.YCGZS 发表于 2015-12-11 12:02:11

我竟然没看懂:mad:
页: [1]
查看完整版本: 几经周折并未搞懂的字符串删除字符问题,望老师高手指点下?