C语言问题!!!!!!!
1、用指向字符串的指针作函数参数,编写函数,将字符串str中的所有’M’字符删除掉。如原来字符串为”AbMxyzMktMwhileMMMcd”,则删除后char * delete( char *str , char ch);新字符串将变为” Abxyzktwhilecd” 原型: 返回值:新串的首地址。 要求写出程序!!!
1、用指向字符串的指针作函数参数,编写函数,将字符串str中的所有’M’字符删除掉。如原来字符串为”AbMxyzMktMwhileMMMcd”,则删除后char * delete( char *str , char ch);新字符串将变为” Abxyzktwhilecd” 原型: 返回值:新串的首地址。 要求写出程序!!!
答案:char * delete( char *str , char ch)
{
char * dst = (char*)malloc(strlen(str)+1);
char * dstBegin = dst;
while(*str != '\0')
{
if(*str == ch)
str++;
else
*(dst++)=*(str++);
}
*dst= '\0';
return dstBegin;
}
上一个:不是说c语言的转义符\b是向后一格吗,为什么没起作用?我自学,自己在简单的小程序里尝试。
下一个:求C++修改文件的函数代码