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);
}
}
-----------------------------------------------
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);
これでよいかと
> 以下のソースではうまくコンパイルできません。
なにがどううまくいかないか、きちんと説明してください。
質問者のマナーです。
# 答は z さんのレスの通りでしょうね。