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

#include<stdio.h>voidsort(int,int);voidmain(){inti,a[10]={9,4,6,2,7,8,1,5,3,0};sort(a... #include <stdio.h>

void sort(int,int);
void main()
{
int i,a[10]={9,4,6,2,7,8,1,5,3,0};
sort(a,9);
for(i=0;i<=9;i++)printf("%3d",*(a+i));
}

void sort(p,n)
//int *p,n;
{
int i,t,*pj;
for(i=1;i<n;i++)
for(pj=p+n-1;pj>p+i-1;pj--)
if(*(pj-1)>*pj)
{
t=*pj;
*pj=*(pj-1);
*(pj-1)=t;
}
}
小弟刚学C语言,不知道为什么这里会出差,请高手给我解答!谢谢!
错误如下:

Compiling...
ls6.cpp
C:\Program Files\Microsoft Visual Studio\MyProjects\ls1\ls6\ls6.cpp(7) : error C2664: 'sort' : cannot convert parameter 1 from 'int [10]' to 'int'
This conversion requires a reinterpret_cast, a C-style cast or function-style cast
C:\Program Files\Microsoft Visual Studio\MyProjects\ls1\ls6\ls6.cpp(12) : error C2065: 'p' : undeclared identifier
C:\Program Files\Microsoft Visual Studio\MyProjects\ls1\ls6\ls6.cpp(12) : error C2065: 'n' : undeclared identifier
C:\Program Files\Microsoft Visual Studio\MyProjects\ls1\ls6\ls6.cpp(14) : error C2448: '<Unknown>' : function-style initializer appears to be a function definition
执行 cl.exe 时出错.
展开
 我来答
林声飘扬
推荐于2018-03-06 · TA获得超过1630个赞
知道小有建树答主
回答量:1126
采纳率:50%
帮助的人:981万
展开全部
#include <stdio.h>

void sort(int*,int); //第一参数应该是地址
void main()
{
int i,a[10]={9,4,6,2,7,8,1,5,3,0};
sort(a,9);
for(i=0;i<=9;i++)printf("%3d",*(a+i));
}

void sort(int *p, int n)
//int *p,n;
{
int i,t,*pj;
for(i=1;i<n;i++)
for(pj=p+n-1;pj>p+i-1;pj--)
if(*(pj-1)>*pj)
{
t=*pj;
*pj=*(pj-1);
*(pj-1)=t;
}
}
fyggyf
2010-04-03 · TA获得超过697个赞
知道小有建树答主
回答量:645
采纳率:100%
帮助的人:554万
展开全部
void sort(int,int); 你传递的是整型数组,但是你声明的确是整数,编译器无法自动转换过来。

void sort(int[],int)或者void sort(int *,int)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式