#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;
}
答案 0 :(得分:-1)
如果您打算在不使用标准C函数的情况下编写函数,例如strchr
或toupper
,那么它的实现看起来就像在演示程序中所示
#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
。