C语言运行出错

#include<stdio.h>intmain(){voidink(int*x,intn);inti,arr[10],*p=arr;for(i=0;i<10;i++,p... #include<stdio.h>
int main()
{
void ink(int *x,int n);
int i,arr[10],*p=arr;
for(i=0;i<10;i++,p++)
scanf("%d",p);
ink(p,10);
for(p=arr;p<arr+10;p++)
printf("%d ",*p);
printf("\n");
return 0;
}
void ink(int x[],int n)
{
int *i,*j,temp;
i=x;
j=x+n-1;
for(;i<j;i++,j--)
{
temp=*i;
*i=*j;
*j=temp;
}
}
展开
 我来答
Liuguiwu1
2013-01-06 · TA获得超过2106个赞
知道小有建树答主
回答量:1199
采纳率:0%
帮助的人:796万
展开全部
1、在main函数中声明时用void ink(int *x,int n);,实际上是用void ink(int x[],int n),你要知道数组跟指针还是有区别的
百度网友f3b3e02
2013-01-06 · TA获得超过2155个赞
知道小有建树答主
回答量:821
采纳率:90%
帮助的人:574万
展开全部
主要问题有两个:
1、ink函数不要定义在主函数中,移到主函数上面就行。
2、指针变量的存储空间不能直接赋值,尤其不能int i,arr[10],*p=arr;
其他没办法读懂,建议先读一下相关资料再做。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jackwind1987
2013-01-06 · TA获得超过2738个赞
知道大有可为答主
回答量:1268
采纳率:50%
帮助的人:474万
展开全部
ink(p,10);的时候p由于在前一个循环一直++,所以p指向的是arr之后,这句之前加一句p = arr;就行了
追问
呃、解决的不是我那个问题,不过把你的答案和满意答案结合起来就能得到正确数值了,谢谢!
追答
void ink(int *x,int n)
void ink(int x[],int n)

这两种写法是一样的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
arongustc
科技发烧友

2013-01-06 · 智能家居/数码/手机/智能家电产品都懂点
知道大有可为答主
回答量:2.3万
采纳率:66%
帮助的人:5783万
展开全部
出什么错误了?
追问
Cpp1.obj : error LNK2001: unresolved external symbol "void __cdecl ink(int *,int)" (?ink@@YAXPAHH@Z)
Debug/Cpp1.exe : fatal error LNK1120: 1 unresolved externals
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式