C语言 指针 从字符串中删除指定的字符。谁能告诉我下面代码的意思啊~~特别是 *(s++)=*q; *s=0;跪谢了~~~

voidfun(chars[],charc){char*q=s;for(q=s;*q;q++)if(*q!=c)*(s++)=*q;*s=0;}... void fun(char s[],char c)

{
char *q=s;

for(q=s; *q; q++)

if(*q != c) *(s++)=*q;

*s=0;
}
展开
 我来答
帐号已注销
2012-06-08 · TA获得超过190个赞
知道答主
回答量:83
采纳率:0%
帮助的人:56.3万
展开全部
void fun(char s[],char c) //s是要操作的字符数组,c是要删除的字符

{
char *q=s; //定义一个char类型的指针(或叫作数组),指向s

for(q=s; *q; q++) //用q编历char类型数组s里的每一个元素

if(*q != c) *(s++)=*q; //如果不是当前的这个字符不是要删除的字符,则插到s的当前位置。否则不加

*s=0; //循环结束后,在s的最后一位加一个结束符
}

/*
你得先搞清指针和数组的关系
*/
yangbinnuaa
2012-06-08 · 超过35用户采纳过TA的回答
知道答主
回答量:122
采纳率:0%
帮助的人:106万
展开全部
我帮你改了一下,看下你现在是否能看懂
void fun(char s[],char c)

{
char *q=s;

for(q=s; *q; q++)
{
if(*q != c)
{
*s=*q;//赋值语句
s++;//指针向后移一位
}
}
*s=0;//字符串末尾结束标志
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式