c语言中自定义函数warning不知道什么意思 在线等

warning:passingargument1of'fun1'makespointerfromintegerwithoutacast[enabledbydefault]... warning: passing argument 1 of 'fun1' makes pointer from integer without a cast [enabled by default]其中fun1是我的自定义函数是什么意思啊 在线等 急!!!!求讲的详细点
#include<stdio.h>
#include<string.h>
char fun1(char a[10],char b[10]);
main()
{
char a[10]="bjsh";
char b[10]="lnsy";
fun1(a[10],b[10]);
}
char fun1(char a[10],char b[10])
{
strcpy(a,b);
printf("%s ",a);
printf("\n");
printf("%s ",b);
return;
}
展开
 我来答
kaixingui2012
2014-12-01 · TA获得超过4.2万个赞
知道大有可为答主
回答量:1.4万
采纳率:81%
帮助的人:6336万
展开全部
#include<stdio.h>
#include<string.h>
void  fun1(char a[10],char b[10]); //没有返回值,就要写void
int main() //
{
char a[10]="bjsh";
char b[10]="lnsy";
fun1(a,b); //参数调用不需要加[],带括号表示传一个字符,不带括号传的是数组首地址
return 0; //
}

void fun1(char a[10],char b[10]) //
{
strcpy(a,b);
printf("%s  ",a);
printf("\n");
printf("%s  ",b);
}
追问
能解释下那个warning的意思么大神
追答
warning: passing argument 1 of 'fun1' makes pointer from integer without a cast [enabled by default] 

英文不是很好,简单直译一下,”警告:传送到fun1函数的参数1从整型转成指针型没有经过转换(系统默认自动转换)" 大概就这么个意思。
说的就是这行:fun1(a[10],b[10]);
函数void fun1(char a[10],char b[10]) 声明与定义中写的参数是数组,也就是指针类型
而你调用时, fun1(a[10],b[10]); 这里的参数是一个字符,相当于整型数。所以会有警告!其实这是错误!
匿名用户
2014-12-01
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
青春無情
2014-12-01 · TA获得超过238个赞
知道答主
回答量:100
采纳率:0%
帮助的人:29.2万
展开全部
贴代码0.0
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式