C语言,找元音字母,为什么我输出的时候答案后面会带一些汉字

#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的情况。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-06-26
越界了,超出了数组的长度

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网