删除字符删除字母保留数字

img


将或改成&&,加上大于等于,小于等于。将\n改成\0,最后一步的输出个人感觉不对,但不知道怎么改,求解

怎么能用putchar 呢?他只会输出一个字符。应该用printf("%s",s); 不知道可不可以用 puts(s);
其他的正如你所说,有用请采纳哦~

两个地方的问题,改动处见注释,供参考:

#include <stdio.h>
int main()
{
     char s[100];
     int  i=0,j=0;
     while ((s[i]=getchar()) != '\n') i++;
     s[i]='\0';
     for (i=0,j=0;s[i]!='\0';i++)
     {
          if (s[i]>='0' && s[i]<='9'){ //修改
             //(s[i]<'0' || s[i]>'9')
              s[j]=s[i];
              j++;
          }
     }
     s[j]='\0';
     puts(s);//putchar(s); 修改
     return 0;
}