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;
} 展开
{
char *q=s;
for(q=s; *q; q++)
if(*q != c) *(s++)=*q;
*s=0;
} 展开
展开全部
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的最后一位加一个结束符
}
/*
你得先搞清指针和数组的关系
*/
{
char *q=s; //定义一个char类型的指针(或叫作数组),指向s
for(q=s; *q; q++) //用q编历char类型数组s里的每一个元素
if(*q != c) *(s++)=*q; //如果不是当前的这个字符不是要删除的字符,则插到s的当前位置。否则不加
*s=0; //循环结束后,在s的最后一位加一个结束符
}
/*
你得先搞清指针和数组的关系
*/
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询