c语言dele函数用法 del在c语言中是什么意思

求C 语言大佬看一下我这个代码中dele 函数的问题,为什么我删除的值为第一个节点是就不行呢把你注释//删除第一个节点的那一句改为:
if(!pre)head=p-next;
应该就好了 。
如果还不行请留言 。
c语言编程/*提示:用两个指针(i, j),i一直往前移 , 
遇到非数字字符,s[j] = s[i],遇到数字字符j不动*/
/*dele函数需要在main函数之前定义,否则会出错*/
void dele (char *s) {
int i = 0, j = 0;
while(s[i] != 0) {
if (!((s[i] = 0x30)(s[i] = 0x39))) {/*数字ASCII码: 0x30~0x39*/
s[j++] = s[i];
}
i++;
}
s[j] = 0;/*字符串结束*/
}
main () {
char str[100];
scanf ("%[^\n]", str);/*%s不能接收空格*/
dele (str);
printf ("%s\n", str);
}
c语言大问题?。?/h2>#include stdio.h
void dele_max(int *a, int *n)
{
int i,j,temp_max;
temp_max = a[0];
for(i = *n; i = 0; i--)
temp_max = temp_maxa[i] ? temp_max : a[i];
for(i = 0; i*n; i++)
if(temp_max == a[i])
{
for(j = i; j*n-1; j++)
{
a[j] = a[j+1];
}
*n--;
}
}
int main()
{
int a[10],n = 10;
int i;
for(i = 0; in; i++)
scanf("%d",a[i]);
dele_max(a,n);
for(i = 0; in; i++)
printf("%d",a[i]);
printf("\n");
return 0;
}
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语言编写一个函数,实现从一行文字中删除某个指定的字符,要求此行文字和要删除的字符均在main()函数中【c语言dele函数用法 del在c语言中是什么意思】#includestdio.h
void dele(char *s,char ch);
void main()
{
char s[80],ch;
printf("please input s[80]\n");
gets(s);
printf("please input ch\n");
ch=getchar();
dele(s,ch);
}
void dele(char *s,char ch)
{
int i,j;
for(i=0;s[i]!='\0';i++)
if(ch==s[i])
{
for(j=i+1;s[j]!='\0';j++)
s[j-1]=s[j];
s[j-1]='\0';
}
printf("整理后的字符串是:");
puts(s);
}
c语言dele函数用法的介绍就聊到这里吧,感谢你花时间阅读本站内容 , 更多关于del在c语言中是什么意思、c语言dele函数用法的信息别忘了在本站进行查找喔 。

    推荐阅读