几经周折并未搞懂的字符串删除字符问题,望老师高手指点下?
#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);
} if( x == y )
{
strcpy( x+i, x+i+1 );
i++;
}
// 关键在于这一句,如果遍历到要删除的字符(例如'x'),则将该字符在数组中对应的位置去掉……方法是用下一个覆盖上一个数组索引。
例如'x'在数组x中,则将x替换x,x替换x依次往下排,虽然有点没效率,但不失为一种稳定的方法。 嗯,我竟然看懂了 我竟然没看懂:mad:
页:
[1]