关于 bsearch 的一些疑问

2015-09-12 17:05:54 +08:00
 erDaren

做了一个 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 的...

1413 次点击
所在节点    问与答
4 条回复
dorentus
2015-09-13 09:32:23 +08:00
str1 是 char * 的数组,你在那行用的都是 char 自然不对了
dorentus
2015-09-13 09:33:06 +08:00
@dorentus 啊不对 我看错了……
erDaren
2015-09-13 13:37:55 +08:00
@dorentus 我还是学学英语去 stackoverflow 问吧...
sorra
2015-10-05 22:29:53 +08:00
你没有把报的错贴出来
你的目的是查找字符串,而你的参数和返回类型看起来都不对,帮你搜了下 bsearch 查找字符串的写法 http://bbs.csdn.net/topics/280007302

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/220197

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX