V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
erDaren
V2EX  ›  问与答

关于 bsearch 的一些疑问

  •  
  •   erDaren · 2015-09-12 17:05:54 +08:00 · 1465 次点击
    这是一个创建于 3362 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    4 条回复    2015-10-05 22:29:53 +08:00
    dorentus
        1
    dorentus  
       2015-09-13 09:32:23 +08:00 via iPhone
    str1 是 char * 的数组,你在那行用的都是 char 自然不对了
    dorentus
        2
    dorentus  
       2015-09-13 09:33:06 +08:00 via iPhone
    @dorentus 啊不对 我看错了……
    erDaren
        3
    erDaren  
    OP
       2015-09-13 13:37:55 +08:00
    @dorentus 我还是学学英语去 stackoverflow 问吧...
    sorra
        4
    sorra  
       2015-10-05 22:29:53 +08:00
    你没有把报的错贴出来
    你的目的是查找字符串,而你的参数和返回类型看起来都不对,帮你搜了下 bsearch 查找字符串的写法 http://bbs.csdn.net/topics/280007302
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1816 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 16:32 · PVG 00:32 · LAX 08:32 · JFK 11:32
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.