源代码:
#include<stdio.h>
#include<string.h>
void filter(char *p)
{
char *q=p;
for(;q!='\0';q++)
if(*q<48||*q>58)
{
*p=*q;
p++;
}
*p='\0';
}
int main()
{
char A[100];
char *p=A;
printf("输入字符串:");
gets(A);
filter(A);
printf("过滤数之后:%s\n",A);
printf("字符串的十进制为:");
for(;*p!='\0';p++)
printf("%d",*p);
return 0;
}
不知道问题在哪儿,其他同学做出来结果都挺正常的,求大佬指教
for循环判断条件,应该是*q != '\0'
for (; *q != '\0'; q++)