下面的程序将从字符数组中删除特定的字符,要求字符数组和要删除的字符都是手动输入。
主要涉及知识点:字符数组的输入输出,及相应的处理。
先来看代码:
#include <stdio.h>
int main(){
char s[80], c;
int j, k;
printf("Enter a string: ");
gets(s);
printf("Enter a character: ");
c=getchar( );
for(j=k=0; s[j]!='\0'; j++)
if(s[j]!=c)
s[k++]=s[j];
s[k]= '\0';
printf("\n%s",s);
return 0;
}
运行结果:
或者:
这个程序设计的很巧妙,没有定义新数组,在原来的数组上通过数组元素的移动完成了删除特定字符串的工作。
请看下图,通过复制操作来移动元素,恰巧跳过要删除的字符。