字符串中元音字母提取错误

来源:百度知道 编辑:UC知道 时间:2024/06/09 06:59:17
#include<stdio.h>
main ()
{char yuan (char a[100]);
char yes[100],b[100];
scanf("%s",yes);
b[100]=yuan (yes);
printf ("%s",b);
}
char yuan (char a[100])
{int i=0,j=0;
char b[100];
while (a[i]!='\0')
{if (a[i]=='a'||a[i]=='e'||a[i]=='i'||a[i]=='o'||a[i]=='u')
b[j++]=a[i];
}
return (b[j]);
}
为什么不能运行啊 请解释

修改如下:

//---------------------------------------------------------------------------

#include<stdio.h>
main ()
{void yuan (char a[100],char b[100]); /*注意这里*/
char yes[100],b[100];
scanf("%s",yes);
yuan (yes,b); /*注意这里*/
printf ("%s",b);

}
void yuan (char a[100],char b[100]) /*注意这里*/
{int i=0,j=0;
/*注意这里*/
while (a[i]!='\0')
{if (a[i]=='a'||a[i]=='e'||a[i]=='i'||a[i]=='o'||a[i]=='u')
b[j++]=a[i];
i++; /*注意这里*/
}
b[j]=0; /*注意这里*/
}

//---------------------------------------------------------------------------