C语言问题急求答案,在线等……

2025-01-27 13:03:27
推荐回答(3个)
回答1:

#include
int main()
{
void cpy(char s[],char c[]);
char str[100],c[100];
printf("the letters are:");
gets(str);
cpy(str,c);
printf("元音字母是:%s\n",c);
return 0;
}
void cpy(char s[],char c[])
{
int i,j;
for (i=0,j=0;s[i]!='\0';i++)
if(s[i]=='a'||s[i]=='A'||s[i]=='e'||s[i]=='E'||s[i]=='i'||s[i]=='I'||s[i]=='o'||s[i]=='O'||s[i]=='u'||s[i]=='U')
{c[j]=s[i];
j++;
}
c[j]='\0';
}
改成'\0'可以运行啊,下面是运行结果:
the letters are:a name you
元音字母是:aaeou
Press any key to continue

如果不能运行的话,可能是你的编译器有问题了,也许要重新安装下,或者重新下载个再安装

回答2:

楼上的程序是对的,楼主要注意有2个地方的'0'要改成'\0'!
s[i]!='0'
c[j]='0';

回答3:

for (i=0,j=0;s[i]!='\0';i++)
if(s[i]=='a'||s[i]=='A'||s[i]=='e'||s[i]=='E'||s[i]=='i'||s[i]=='I'||s[i]=='o'||s[i]=='O'||s[i]=='u'||s[i]=='U')
{c[j]=s[i];
j++;
}
c[j]='\0';
都要改成\0作为字符结束的标志