小编Vee*_*han的帖子

如何使用指针删除字符串中的元音

我想从字符串中删除元音并打印剩余的元音。但是我的if条件表现不如预期。

    #include <stdio.h>

    void filter (char *p, char *q)
    {
      while (*p != '\0')
        {
          if (*p != 'a' || *p != 'e' || *p != 'i' || *p != 'o' || *p != 'u')
        {
          *q = *p;
          q++;
        }
          p++;
        }
      *q = '\0';
    }

    int main ()
    {
      char str1[10] = "hello";
      char str2[10];
      char *p, *q;
      p = &str1[0];
      q = &str2[0];
      filter (p, q);
      printf ("%s", str2);
      return 0;
    }
Run Code Online (Sandbox Code Playgroud)

我期望输出为hll但输出为 …

c pointers if-statement

1
推荐指数
2
解决办法
86
查看次数

标签 统计

c ×1

if-statement ×1

pointers ×1