如何在我的功能上更新我的变量

时间:2017-03-17 14:08:06

标签: c string

#include <stdio.h>

int remove_vowel(char str[])    
{
    int i;
    for(i=0; str[i] != '\0'; i++)
        if(str[i] != 'a' && str[i] != 'e' && str[i] != 'o' && str[i] != 'i' && str[i] != 'u')
            printf("%c",str[i]);
}

int main()
{  
    char str[80];

    printf("Input: ");      
    gets(str);
    remove_vowel(str);
    printf("Output: %s\n",str);

    return 0;
}

1 个答案:

答案 0 :(得分:-1)

如果您打算在不使用标准C函数的情况下编写函数,例如strchrtoupper,那么它的实现看起来就像在演示程序中所示

#include <stdio.h>

char * remove_vowel(char s[])
{
    const char *p = s;
    char *q = s;

    do
    {
        switch ( *p )
        {
        case 'a': case 'e': case 'i': case 'o': case 'u':
        case 'A': case 'E': case 'I': case 'O': case 'U':
            break;
        default:
            if (q != p) *q = *p;
            ++q;
            break;
        }
    } while (*p++);

    return s;
}

int main( void )
{
    char s[] = "HELLO world";
    puts(remove_vowel(s));
}

程序输出

HLL wrld

考虑到函数gets不安全,C标准不再支持。请改用fgets