怎样实现在C语言字符数组中对字符串中的某个字符的删除

如题所述

第1个回答  2019-10-29
可以把要删除位置i之后,i+1位置开始的串往前复制一遍。
char
t[]="hello
world";//必须是非const、可写的空间。
int
d=5;//删除第5个位置的空格
strcpy(t+d,t+d+1);
printf("%s",t);
============
helloworld
第2个回答  2019-11-08
错误在于你判断了第一个非@字符时就已经输出没有字符@退出循环了所以不会检测@了。改成下面就行了:
#include
#include
int
main()
{
char
sh[100],n=0;
gets(sh);
for(int
i=0;sh[i];i
)
if(sh[i]=='@')
n
;
if(n==0)
printf("没有字符
@\n");
else
printf("有字符
@\n");
}本回答被提问者采纳
相似回答