有关C语言函数的问题求大神解答~

题目:写一个函数,将一个字符串中的元音字母复制到另一字符串,然后输出。我写的代码:#include<stdio.h>intmain(){intjudge(charm[10... 题目:写一个函数,将一个字符串中的元音字母复制到另一字符串,然后输出。
我写的代码:
#include <stdio.h>
int main()
{
int judge(char m[100],char n[100]);
int a[100],b[100];
printf("请输入一个字符串:");
gets(a);
gets(judge(a[100],b[100]));
puts(b);
return 0;
}
int judge(char m[100],char n[100])
{
int i,j;
while(m[i]!='\0')
for(i=0,j=0;i<100;i++)
{
if(m[i]=='a'||m[i]=='e'||m[i]==i||m[i]=='o'||m[i]=='u'||m[i]=='A'||m[i]=='E'||m[i]=='I'||m[i]=='O'||m[i]=='U')
n[j]=m[i];
j++;
}
return n[100];
}

报错:
warning C4133: 'function' : incompatible types - from 'int [100]' to 'char *'

warning C4047: 'function' : 'char *' differs in levels of indirection from 'int '
warning C4024: 'judge' : different types for formal and actual parameter 1
warning C4047: 'function' : 'char *' differs in levels of indirection from 'int '
warning C4024: 'judge' : different types for formal and actual parameter 2
warning C4047: 'function' : 'char *' differs in levels of indirection from 'int '
warning C4024: 'gets' : different types for formal and actual parameter 1
warning C4133: 'function' : incompatible types - from 'int [100]' to 'const char *'
warning C4700: local variable 'b' used without having been initialized

我是初学者,很多都不懂,请大神们解答一下说详细一点~谢谢啦~
展开
 我来答
447587096
2015-11-23 · TA获得超过5046个赞
知道大有可为答主
回答量:2504
采纳率:70%
帮助的人:1160万
展开全部
#include <stdio.h>
int main()
{
void judge(char m[100],char n[100]);
char a[100],b[100];
printf("请输入一个字符串:");
gets(a);
judge(a,b);
puts(b);
return 0;
}
void judge(char m[],char n[])
{
int i=0,j = 0;
while(m[i]!='\0')
{
if(m[i]=='a'||m[i]=='e'||m[i]=='i'||m[i]=='o'||m[i]=='u'||m[i]=='A'||m[i]=='E'||m[i]=='I'||m[i]=='O'||m[i]=='U')
{
n[j]=m[i];
j++;
}
i ++;
}
n[j] = '\0';

//return n;
}
这样就对了
追问
void不是应该是无参函数用的吗?它这个有参数为什么用void是正确的啊?
追答
无参不用返回的,数组传过就能改数组里面的值了,不用返回值的,你看到指针你就懂了,这里其实就是指针,数组名就是指针
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式