| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 678 人关注过本帖
标题:新新人求帮助,关于"函数调用"问题!!
取消只看楼主 加入收藏
_HuBin
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2008-7-21
收藏
 问题点数:0 回复次数:2 
新新人求帮助,关于"函数调用"问题!!
int binarysearch(int a[],int x,int n)
{
int left,right,middle;
left=0;
right=n-1;
while(left<=right)
{
middle=(left+right)/2;
if(x==a[middle])
return middle;
if(x>a[middle])
left=middle+1;
else right=middle-1;
}
return -1;
}




高手一看就知道上面是一个"函数",
功能是二分法查找数组中的某一个值,

我想请教一下如何去调用这个函数,

说白了就是怎么向他传递参数,

希望高手给我例子,
非常感谢啦!!
搜索更多相关主题的帖子: 函数 
2008-07-21 23:25
_HuBin
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2008-7-21
收藏
得分:0 
main(){
int m [5]={1,2,3,4,5};
binsrch (m,3,5);
}

void binsrch(int []  ,int k,int N)
{
int low,high,mid;
low=0;high=N-1;
while (low<=high){
mid=(low+high)/2;
if (k>m[mid])
high=mid-1;
if (k<m[mid])
low=mid+1;
if (k==m[mid]){
printf("index is %d ",mid+1,k);
return;
}

}
printf("error");
return;

}

//
先谢谢楼上的答案,但是我还是没有弄明白,
可能是我还没有开巧吧.

如上的程序,我还是不可以调用,老是通不过编译啊.郁闷ing....
2008-07-23 22:39
_HuBin
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2008-7-21
收藏
得分:0 
谢谢谢谢楼上的,受了你的启发,我知道错误的地方了,

我那程序在逻辑上还有错误,

完全正确的见下:


main()
{
int ary[10]={1,2,3,4,5,6,7,8,9,10};
binsrch(ary,9,10);
getch();
}

binsrch(int array[],int k,int n)
{
int low,high,mid;
low=0;high=n-1;
while (low<=high)
{
mid=(low+high)/2;
if (k>array[mid])
low=mid+1;
if (k<array[mid])
high=mid-1;
if (k==array[mid]){
printf("index is %d ",mid);
return;
}

}
printf("error");
return;

}

[[it] 本帖最后由 _HuBin 于 2008-7-25 22:59 编辑 [/it]]
2008-07-25 22:57
快速回复:新新人求帮助,关于"函数调用"问题!!
数据加载中...
 
   



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

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