バイナリサーチについて・・

[戻る]
ryo [E-Mail] 2003/02/16(日) 17:12:14
C言語初心者です。
以下のソースではうまくコンパイルできません。
intの宣言あたり?が間違っているのでしょうか?
どなたかご指導お願いいたします。
----------------------------------------

#include<stdio.h>
#include<search.h>

int cmp_func(int*a,int*b)

{
return((*a)-(*b));
}
void main(){
static int ary[10]={2,4,1,3,5,7,9,6,8,0};
static int target=5;
int *ptr;

qsort(ary,10,sizeof(int),cmp_func);
ptr=(int *)bsearch(&target,ary,10,sizeof(int),cmp_func);

if(ptr!=NULL)
{
printf("target is ary[%d]\n",ptr-ary);
}
else{
printf("target not found\n");
}
}

-----------------------------------------------

2003/02/16(日) 18:46:38
typedef int (*CompType)(const void*,const void*);//こんなのを用意する
qsort(ary,10,sizeof(int),(CompType)cmp_func);
ptr=(int *)bsearch(&target,ary,10,sizeof(int),(CompType)cmp_func);
これでよいかと

επιστημη 2003/02/17(月) 09:05:17
> 以下のソースではうまくコンパイルできません。

なにがどううまくいかないか、きちんと説明してください。
質問者のマナーです。

# 答は z さんのレスの通りでしょうね。

古いスレッドには追加発言できません。