要求:
输入一个字符串和一个字符,用指针将字符串中出现的指定字符全部删除。(先要求用户输入字符串、再要求用户输入需要删除的字符。注意删除完之后不能留下空格)
源码如下:
#include<stdio.h>
void main()
{
char s[100],c,*p,*q; //定义字符型数组,变量可以指向字符型的指针
printf("请输入一个字符串:\n");
gets(s); //输入字符内容
printf("请输入需要删除的字符:\n");
c=getchar(); //将需要删除的字符存储在字符型变量c中
for(p=q=s;*p!='\0';p++) //p指针指向q指针指向s数组的首地址,如果p指针的内容没有遇到\0则每次加一个1
if(*p!=c) *q++=*p; //如果p的内容不等于c,也就是删除字符,则p的内容给q,并每次加一个1
*q='\0'; //遇到\0后就结束
printf("调试后的字符:\n"); //最后输出调试后的内容
printf("%s\n",s);
}
运行效果如下: