C语言程序题,在主函数中输入一个字符串,再输入一个字符,编写函数delechar(),将字符串中该字符删除
#includestdio.h
10年积累的成都网站设计、做网站经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先建设网站后付款的网站建设流程,更有崂山免费网站建设让你可以放心的选择与我们合作。
#includestring.h
#define MAX 80
void delechar(char str[],char a)
{
int i=0,j;
while(str[i]!='\0')
{
if(str[i]==a)
{
for(j=i;str[j]!=0;j++)
{
str[j]=str[j+1];
}
}
i++;
}
}
int main(void)
{
int i;
char a,str[MAX];
gets(str);
scanf("%c",a);
delechar(str,a);
puts(str);
return 0;
}
求C 语言大佬看一下我这个代码中dele 函数的问题,为什么我删除的值为第一个节点是就不行呢
把你注释//删除第一个节点的那一句改为:
if(!pre)head=p-next;
应该就好了。
如果还不行请留言。
C语言 删除字符串s的所有数字字符
s[i]'0' || s[i]'9'的意思是s[i]这个字符不是'0'~'9'之内的字符,即非数字字符。
你这个dele函数的意思是剔除字符串里的数字字符,那么判断为非数字字符时,把s[i]放入s[n]。
字符’\0'是字符串结束符,有了它才能用printf的%s来输出这个字符串的有效内容,’\0'的ascii码值就是0,所以s[n]=0等同于s[n]='\0'。
isdigit判断一个字符是不是数字字符,逻辑就是你上面问的s[i]='0's[i]='9'。那么if(!isdigit(s[i]))的意思是如果s[i]不是数字字符的意思,等同于if(s[i]'0' || s[i]'9')
网站题目:c语言dele函数 c语言del什么意思
本文链接:http://lswzjz.com/article/hgscii.html