老牛来学习 发表于 2020-4-2 21:31:19

代码出错

#include<stdio.h>

int main()
{
    int i = 0,j;
    int str;
    int a;

    printf("Enter a str:");

    do
    {
      scanf("%c",&str);
      i++;
    }while(str != '#');
    str = '\0';
    getchar();
    i = 0;
    j = 0;
    while(str != '\0')
    {
      if((str >= '0'&&str <= '9') || (str >= 'A'&&str <= 'F')||(str >= 'a'&&str <= 'f'))
      {
            a = str;
            j++;
      }

      i++;

    }
    a = '\0';

    printf("NEW string = ");
    for(i = 0; i != '\0'; i++)
    {
      printf("a[%d] = %c",i,a);
    }
}




上面这段代码我想输入一段字符串,然后过滤出0 - 9,a - f,A - F,把他们赋给另外一个数组,哪里出错了,为什么成功不了?

感谢!

liuzhengyuan 发表于 2020-4-3 09:00:42

用 getchar(), 不要用 scanf()
页: [1]
查看完整版本: 代码出错