| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 289 人关注过本帖
标题:函数中调用数组
只看楼主 加入收藏
宅宅
Rank: 1
等 级:新手上路
帖 子:27
专家分:9
注 册:2013-9-25
结帖率:92.86%
收藏
已结贴  问题点数:10 回复次数:2 
函数中调用数组
程序代码:
float distance(float *p1,float *p2)
{
      float n;
      n=(*p1-*p2)*(*p1-*p2)+(*(p1+1)-*(p2+1))*(*(p1+1)-*(p2+1));
      n=sqrt((float)n);
      return n;
}
float min(int (*p)[2],int n)
{
      int i,j;
      float m=1000,temp;
      for(i=0;i<=n-2;i++)
          for(j=i+1;j<=n-1;j++)
              {
                  temp=distance((p+i),(p+j));//cannot convert `int (*)[2]' to `float*' for argument `1' to `float distance(float*, float*)'
                  if(temp<=m) m=temp;
              }
      return(m);
}
main()
{
      int i,j,n;
      float r,a[100][2];
      scanf("%d",&n);
      for(i=0;i<=n-1;i++)
          scanf("%d %d",&a[i][0],&a[i][1]);
      r=min(a,n)/2;//cannot convert `float (*)[2]' to `int (*)[2]' for argument `1' to `float min(int (*)[2], int)'
      printf("%d",r);         
}
函数里面调用函数,用了二维数组
错误信息是这两句。。函数调用指针这块一直不是很明白。。 我知道形参是要写地址,但是不知道后面该怎么换到下一个元素。。一维数组还好。。
二维数组就完全不明白了。。。
2013-11-21 13:02
韶志
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:斗气大陆
等 级:贵宾
威 望:44
帖 子:2223
专家分:13592
注 册:2013-3-22
收藏
得分:10 
两个函数的形参类型不一样
你却相互引用...
都改为 float 吧

[ 本帖最后由 韶志 于 2013-11-21 13:21 编辑 ]

三十年河东,三十年河西,莫欺少年穷!
2013-11-21 13:14
宅宅
Rank: 1
等 级:新手上路
帖 子:27
专家分:9
注 册:2013-9-25
收藏
得分:0 
回复 2楼 韶志
指针的类型是怎么确定的呢。。
指向float的是float
那指向指向float的指针的类型也是float吗?
还有。。指针作形参,调用函数的时候都要加*是吗?

求解
2013-11-21 17:08
快速回复:函数中调用数组
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.011464 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved