首 页 行业热点 新车 试驾评测 养车用车 车型库

C语言字符串中删除指定字符

发布网友 发布时间:2022-04-20 17:13

我来回答

1个回答

热心网友 时间:2022-04-17 23:07

//在你的原程序上修改,注意加注释的地方
#include<stdio.h>
#include<string.h> //这个头文件可以不用了
void deletechar(char *s,char c) //delete是保留字,改名为deletechar
{int i,j;
for(i=0;s[i]!='\0';)
{if(s[i]==c) //只是两个字符的比较,不需要strcmp函数
for(j=i;s[j]!='\0';j++)
s[j]=s[j+1];
else i++; }
return;}
int main()
{char s[80];
char c;
gets(s);
//getchar() //这个不需要字符缓冲
c=getchar();
deletechar(s,c); //delete是保留字,改名为deletechar
puts(s);}追问if((strupr(s[i])==c)||(strlwr(s[i])==c))
为了满足删除时不区分大小写这个要求,我把 deletechar中的if改成了这样,怎么又停止工作了额

追答strupr和strlwr函数其内的参数都是指针,不能用在这个场合,
你也可以考虑自己重新定义这两个函数,如
char strupr(char c){
if (c>='a' && c='A' && c<='Z') return c+32;

return c;
}

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com