求指点,为何不能把s函数返回值k的地址赋给p,再由p作为k,输出字符数组k的全部元素。
你 s函数的返回值是 int 类型,怎么能返回 char类型的数组 k 呢?
我改了一下,参考如下:
#include<stdio.h>
char* s(char a[])
{
char k[1024] = {'0'};
int i = 0, j = 0;
while (a[i] != '\0')
{
char ch = a[i];
if (ch == 'a' || ch == 'e' || ch == 'i' || ch == 'o' || ch == 'u')
k[j++] = ch;
i++;
}
char *kk = k;
return kk;
}
int main()
{
char a[1024];
gets(a);
printf("%s\n", a);
char *p;
p = s(a);
printf("%s\n", p);
return 0;
}
如有帮助,欢迎采纳哈!