#include <stdio.h>
int main()
{
void find();
char a[32];
printf("输入一段字母\n");
gets(a);
find(a);
printf("\n");
}
void find(char a[32])
{
char b[32];
int i,j;
for(i=0,j=0;i<32;i++)
if(a[i]=='a'||a[i]=='e'||a[i]=='i'||a[i]=='o'||a[i]=='u'||a[i]=='A'||a[i]=='E'||a[i]=='I'||a[i]=='O'||a[i]=='U')
{
b[j]=a[i];j++;
}
puts(b);
}
b是字符数组而不是字符串,所以你不能用puts,只能用循环打印b中的每个字符。
而且还要判断j=0的情况,就是再加个if j==0的情况。
而且还要判断j=0的情况,就是再加个if j==0的情况。
温馨提示:答案为网友推荐,仅供参考
第1个回答 2016-06-26
越界了,超出了数组的长度