做了一个 char* strs[], 然后给每个元素分配内存并读入字符串,然后调用 qsort ,然后做一个 char[],调用 bsearch ,然后就出错了...
就像这样:
int main ()
{
int strNum = 4;
int strLen = 5;
char* strs[strNum];
inputStr (strs, strNum );
qsort (strs, strNum, sizeof (char), compareStr );
char str1[] = "aaaa";
char tempStr = (char)bsearch (str1, strs, strNum, sizeof (char), compareStr );
if (tempStr )
printf ("tempStr.%s.",tempStr );
printStr (strs, strNum );
return 0;
}
隐约我觉得可能我传给 bsearch 的参数有问题, 反正我把 bsearch 注释掉就跑过了...
求大神给看看,网上搜了一圈都是说 int 数组调用 bsearch 的...
1
dorentus 2015-09-13 09:32:23 +08:00 via iPhone
str1 是 char * 的数组,你在那行用的都是 char 自然不对了
|
4
sorra 2015-10-05 22:29:53 +08:00
你没有把报的错贴出来
你的目的是查找字符串,而你的参数和返回类型看起来都不对,帮你搜了下 bsearch 查找字符串的写法 http://bbs.csdn.net/topics/280007302 |