C语言问题:输入一个字符串,删除字符串中的"M"字符 谢谢!!

来源:百度知道 编辑:UC知道 时间:2024/05/28 11:06:18
#include<stdio.h>
#include<string.h>
void del(char *str,char ch)
{ int i,j,k;
i=strlen(str);
for(j=0;j<i;j++)
{ if(*(str+j)==ch)break;
for(k=j;k<i;k++)
*(str+k)=*(str+k+1);
i--;
}
printf("删除后:\n");
puts(str);
}
void main()
{ char str[100];

printf("请输入字符串:\n");
gets(str);
del(str,'M');

}

我这样做 如果输入比较长的字符串 (比如sdMmmMmfsdMsrweMMdfdmM)就有的M删除不了 高手们帮帮我呗! 谢谢了!

#include<stdio.h>
#include<string.h>
void del(char *str,char ch)
{
int i,j,k;
i=strlen(str);
for(j=0;j<i;j++)
{
if(*(str+j)!=ch)
continue;
for(k=j;k<i;k++)
*(str+k)=*(str+k+1);
j--;i--;
}
printf("删除后:\n");
puts(str);
}
void main()
{
char str[100];

printf("请输入字符串:\n");
gets(str);
del(str,'M');

}

void del(char *str,char ch)
{
int i,j,k;
i=strlen(str);
for(j=0;j<i;j++)
{
if(*(str+j)==ch)
{
for(k=j;k<i;k++)
*(str+k)=*(str+k+1);
i--;
j--;
}
}
printf("删除后:\n");
puts(str);
}
void main()
{
char str[100];

printf("请输入字符串:\n");
gets(str);
del(str,'M');
}