c语言dele函数 c语言del什么意思

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什么意思
URL网址:http://myzitong.com/article/hgscii.html