cannot convert parameter 1 from 'char' to 'char [][10]'

#include"stdio.h"#include"string.h"charlongest_(charx[4][10]);voidmain(){chara[4][10]... #include"stdio.h"
#include"string.h"
char longest_(char x[4][10]);
void main()
{
char a[4][10];int i;
for(i=0;i<=3;i++)
scanf("%s",a[i]);
printf("the longest capital is:\n");
longest_(a[4][10]); /*错误行*/
}
char longest_(char x[4][10])
{
int i,j;
char y[10];
for(i=0;i<=3;i++)
for(j=0;j=3-i;j++)
{
if(strlen(x[i])>=strlen(x[j]))strcpy(y,x[i]);
else strcpy(y,x[j]);
}
for(i=0;i<=9;i++)
printf("%c\n",y[i]);
}
展开
 我来答
xu_weii
2011-10-23 · 超过24用户采纳过TA的回答
知道答主
回答量:57
采纳率:0%
帮助的人:55.9万
展开全部
longgest_()的参数是char[][]二维数组类型,传输的实参是char原子类型,类型不符。按照程序逻辑应该传入字符串指针,这样就可以了:
#include"stdio.h"
#include"string.h"

void longest_(char x[][10]);
int main()
{
char a[4][10];int i;
for(i=0;i<=3;i++)
scanf("%s",a[i]);
printf("the longest capital is:\n");
longest_(a);
}

void longest_(char x[][10])
{
int i,m=0;
for(i=1;i<4;i++)
{
if(strlen(x[i])>strlen(x[m]))
m=i;
}
printf("%s\n",x[m]);
}
追问
没能运行,fatal error LNK1168: cannot open Debug/test2.exe for writing
warning C4508: 'main' : function should return a value; 'void' return type assumed
追答
不好意思,先前是在Dev cpp环境下编译成功的,用的是gcc编译器;如果用Turbo C或者Borland C++3.1是有这个提示,不要紧,把main前的int改为void或者在main()函数最后加上return 0;都可以。 另外形参有两种声明:
void longest_(char x[][10]);
或者
void longest_(char x[4][10]);
声明为字符指针也是可以的,不过程序中要改一下
#include"stdio.h"
#include"string.h"
#include
/*char longest_(char x[4][10]);*/
void longest_(char *x);
void main()
{
char a[4][10];int i;
for(i=0;istrlen(x+10*m))
m=i;
}
printf("%s\n",x+10*m);
}
这样也是可以的,bc31下编译通过,注意输入参数的字符串不得大于9个字符。指针这个运用非常灵活,首先要实参和形参要符合;其次要保证地址吻合,地址增加的幅度,这个和指针定义有关。char* x 类型x+1 就是地址增1;char** x类型x+1是地址增4个字节;char x[][10] ,x+1等于地址增加10字节,*(x+1)相当于x[1]或者(char*)((int)x+10),返回的是char*类型
松甜恬0Je4ba
2011-10-23 · TA获得超过2.6万个赞
知道大有可为答主
回答量:7475
采纳率:100%
帮助的人:3435万
展开全部
longest_(a[4][10]); /*错误行*/
修改为
longest_(a); /*错误行*/
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式