鱼C论坛

 找回密码
 立即注册
查看: 2524|回复: 3

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

[复制链接]
发表于 2011-3-22 16:56:40 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

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

char ch;


void delchar(char x[10],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[10],char y)
{
int i=0;
while(x[i]!='\0'){
        if(x[i]==y){
strcpy(x+i,x+i+1);
i++;}
}
puts(x);
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-3-25 14:05:57 | 显示全部楼层
if( x[i] == y )
{
       strcpy( x+i, x+i+1 );
       i++;
}
// 关键在于这一句,如果遍历到要删除的字符(例如'x'),则将该字符在数组中对应的位置去掉……方法是用下一个覆盖上一个数组索引。
例如'x'在数组x[3]中,则将x[4]替换x[3],x[5]替换x[4]依次往下排,虽然有点没效率,但不失为一种稳定的方法。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-3-25 15:44:38 | 显示全部楼层
嗯,我竟然看懂了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2015-12-11 12:02:11 | 显示全部楼层
我竟然没看懂:mad:
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-27 14:07

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表