C语言用双字符指针去除字符串中特定的重复字符

题目内容:
功能:实现删除字符串中连续的重复字符(除字母和数字)。 输入为字符串,将字符串中连续重复的,非字母和数字的字符重复地删去,然后输出处理后的字符串。要求用指针指向输入的字符串进行操作。

输入样例:

1+++2==3

输出样例:

1+2=3

这是双指针的应用场景,将一个指针指A向一点后,另一指针B移动,与另一指针A比较后决定是否输出。代码如下图:


C语言用双字符指针去除字符串中特定的重复字符

代码断:

#include

int main()

{

char str[300];

gets(str);

char *mi=&str,*ma=NULL;

while(*mi){

if((*mi>='0'&&*mi<='9')||(*mi>='a'&&*mi<='z')||(*mi>='A'&&*mi<='Z')){

printf("%c",*mi);ma=&*mi;

}

else{

if(*mi!=*ma){ printf("%c",*mi);ma=&*mi;}

}

*mi++;

}

return 0;

}

学习了指针后,一些问题比较好解决了,也不需要求出具体的字符串长度,还是比较方便的。

发表评论
留言与评论(共有 0 条评论) “”
   
验证码:

相关文章

推荐文章