求各位解答解答这个问题

题目:已有变量定义和函数调用语句:
char str1[80],str2[80];cpy(str1,str2); cpy函数的作用是找出str1中的元音字母然后复制到str2中。要求在主函数中实现字符串的输入,并存放到字符数组str1中,函数调用后输出字符数组str1和str2中的内容。

元音字母:a e i o u
代码如下:

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
void cpy(char* str1, char* str2)
{
    int i = 0;
    int j = 0;
    while (str1[i])
    {
        if (str1[i] == 'a' || str1[i] == 'e' || str1[i] == 'i' || str1[i] == 'o' || str1[i] == 'u')
            str2[j++] = str1[i];
        else if (str1[i] == 'A' || str1[i] == 'E' || str1[i] == 'I' || str1[i] == 'O' || str1[i] == 'U')
            str2[j++] = str1[i];
        i++;
    }
    str2[j] = 0;
}

int main()
{
    char str1[80], str2[80];
    printf("请输入字符串:");
    gets(str1);
    cpy(str1, str2);

    printf("元音字母:%s", str2);
    return 0;
}
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>

void cpy(char str1[],char str2[]);

void main() {
    char str1[80],str2[80];
    printf("输入一个字符串:");
    gets(str1);
    cpy(str1, str2);
    printf("%s\n", str1);
    printf("%s\n", str2);
}
void cpy(char str1[],char str2[])
{
    int i,k=0;
    for (i = 0; str1[i] != '\0'; i++) {
        if (str1[i] == 'a' || str1[i] == 'A' || str1[i] == 'e' || str1[i] == 'E' || str1[i] == 'i' || str1[i] == 'I' || str1[i] == 'o' || str1[i] == 'O' || str1[i] == 'u' || str1[i] == 'U')
            str2[k++] = str1[i];
    }
    str2[k++] = '\0';
}