C语言程序题,在主函数中输入一个字符串,再输入一个字符,编写函数delete(),将字符串中该字符删除

如题所述

第1个回答  推荐于2017-12-15
delete()和库里面的函数名冲突,我改成deletechar()了
#include <stdio.h>
#define LENGTH 20

//这里是删除了字符串中的所有与a相同的字符
//nSize是字符串的长度
int deletechar(char **ppStr, char a, int nSize)
{
char *pStr =*ppStr;
int i,j;
int nPos = -1;
for (i=0;i<nSize;i++)
{
if (a == pStr[i])
{
nPos = i;
}
if (nPos!=-1)
{
for (j=nPos;j<nSize-1;j++)
{
pStr[j] = pStr[j+1];
}
nSize--;
nPos = -1;
}
}
return 0;
}

int main()
{
char str[LENGTH];
char ch;
char *p = str;
printf("Please input a string:\n");
scanf("%s", &str);
printf(("Please input a char:\n");
scanf("%c", &ch);
printf("删除前的字符串为:%s", str);
deletechar(&p, ch, sizeof(str));
printf("删除后的字符串为:%s", str);
getchar();
return 0;
}本回答被提问者采纳
相似回答