C语言:这道题我这么写不对吗?应该怎么改腻?

来源:百度知道 编辑:UC知道 时间:2024/06/06 07:16:31
课堂练习(作业)
1、用指向字符串的指针作函数参数,编写函数,将字符串str中的所有’M’字符删除掉。如原来字符串为”AbMxyzMktMwhileMMMcd”,则删除后新字符串将变为” Abxyzktwhilecd”
原型:char * delete( char *str , char ch);
返回值:新串的首地址。

#include<stdio.h>
char * delete( char *str , char ch);
main()

{char a[20]="AbMxyzMktMwhileMMMcd";
char ch[20];

ch=delete(a,ch);
printf("%s",ch);

}

char * delete(char *str,char ch)
{ if(*str!='M')
{*ch=*str;
ch++;
str++;}
if(*str==M)
{ch++;
str++;}

return ch;
}

#include<stdio.h>
char * delete( char *str , char ch);
main()

{char a[20]="AbMxyzMktMwhileMMMcd";
char ch[20];

ch=delete(a,ch);
printf("%s",ch);

}

char * delete(char *str,char ch)
{
char * r=str;
char *result=r;
while(*str!='\0'){
if(*str!='M') {*r=*str;r++;str++;}
else str++;
}
return result;
}