C语言程序题,在主函数中输入一个字符串,再输入一个字符,编写函数delete(),将字符串中该字符删除
展开全部
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;
}
#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;
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询