#include<stdio.h>
#include<string.h>
int main()
{
void yuan(char a[],char b[]);
char a[50],b[50];
scanf("%s",a);
yuan(a,b);
return 0;
}
void yuan(char a[],char b[])
{
int i;
for(i=0;i<=50;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[i]=a[i];
}
printf("%s\n",strcat(a,b));
}

为什么代码运行结果会出现黑方框
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- qzjhjxj 2021-09-26 08:26关注
修改如下,供参考,修改见注释:
#include<stdio.h> #include<string.h> int main() { void yuan(char a[], char b[]); char a[50], b[50] = {0};//修改 scanf("%s", a); yuan(a, b); return 0; } void yuan(char a[], char b[]) { int i, k;//修改 for (i = 0, k = 0; a[i] != '\0'; i++)//for (i = 0; i <= 50; 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[k++] = a[i];//修改 } b[k] = '\0';//修改 printf("%s\n", strcat(a, b)); }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报