#include<stdio.h>
void main()
{
void delete_string(char str1[],char str2[],char ch);
char c;
char str1[80],str2[80];
printf("输入字符串:\n");
gets(str1);
printf("输入要删除的字符:\n");
scanf("%c",&c);
delete_string(str1,str2,c);
printf("%s\n",str2);
}
void delete_string(char str1[],char str2[],char ch) //删除字符
{
int i,j=0;
for(i=0;str1[i]!='\n';i++)
{
if(str1[i]!=ch)
{
str2[j]=str1[i];
j=j+1;
}
else str2[j]='\0';
}
}
for(i=0;str1[i]!='\n';i++)
写错了,应为for(i=0;str1[i]!='\0';i++)
为啥执行时后面会有很多乱码