问题标签 [bsearch]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
4383 浏览

c - 将 bsearch 与字符串数组一起使用时遇到问题

尝试在 C 中的字符串数组上使用 c 内置 bsearch 时,我遇到了一些令人困惑的行为。这是代码。我知道您可以使用内置的 strcmp 来搜索字符串数组,但我将 myStrCmp 包括在内以用于调试目的,因为我不知道它为什么不起作用。

这是调用此函数以查找 Alabama 时的一些输出。

如您所见,bsearch 在其搜索过程中访问的位置应该具有有效的字符串(正如在调用 bsearch 之前刚刚检查过的那样),但是如果您尝试在该位置打印 char *,则输出是垃圾。谁能看到我的错误?顺便说一句,当我调用 bsearch 并将最终参数设置为:

谢谢!

0 投票
1 回答
943 浏览

c - 从 bsearch 和 lfind 确定索引?

我试图在 lfind 和 bsearch 返回指向它找到的元素的指针之后获取数组中元素的索引。到目前为止我有这个:

where found 是函数找到的地址,基地址是元素 0 的地址。但是,编译器给了我这个错误:

cvector.c:150:28: 警告: 'void *' 类型的指针用于减法 cvector.c:150:4: 警告: return 从指针中生成整数而不进行强制转换

我该怎么办?

0 投票
2 回答
394 浏览

c - bsearch() 找不到我的项目

谁能告诉我为什么下面代码中的 bsearch() 在列表中找不到项目“getwidth”?我尝试了几个编译器,但它们都不适用,所以它一定是我的代码中的一个错误。但是,我真的不明白那里有什么问题。传递给 bsearch() 的回调总是返回 != 0 但仍然只调用 5 次,然后 bsearch() 返回 NULL,尽管它没有遍历所有项目。这是为什么?

这是代码:

这是该程序生成的输出:

我真的不明白为什么它不起作用,尽管它实际上只有几行。有人可以对这种奇怪的行为有所了解吗?谢谢!

0 投票
1 回答
113 浏览

c - bsearch 在循环中更改键

反正有做这样的事情吗?

问题是 key 增加bsearch了,但仍然搜索数字 50。我猜是因为 key 参数bsearch是 a constant pointer。我知道如果在搜索之前将所有键都存储在数组中,它会起作用。但是,这不适合我的应用程序。任何帮助,将不胜感激。

0 投票
1 回答
179 浏览

c - qsort 和 bsearch 函数...“指针”

我想知道,当我们创建函数时

qsort我们只是将其名称传递给and的参数之一bsearch,这些函数如何识别所说的基本上随机的词(因为我们从未明确声明它是函数指针,而是实际函数)并将其用作参数?qsort在and的函数声明中是否有显式转换bsearch

0 投票
1 回答
852 浏览

c - 调用 bsearch 时出现“错误:无效的初始化程序”

我有一个结构:

以及一组实例:

填充数组后,我将使用它对其进行排序qsort

这正在按预期工作。我正在尝试实现一种在数组中搜索特定项目的方法,这就是我卡住的地方

gcc编译器正在返回消息:

p_CONNECT.c:在函数“FindDataByKey”中:

p_CONNECT.c:87:错误:初始化程序无效

make:最后一条命令的错误代码为 1。

在线的CompareDataByKey);

谁能在我编写的代码的上下文中解释这个错误的含义?

0 投票
1 回答
212 浏览

c - bsearch,常量字符数组和指针算法

我想将 bsearch 与 const 字符数组一起使用,以确定该数组中的索引。这是代码:

它在 GNU/Linux/gcc 上运行,但我不确定它是否符合 ANSI 标准,并且它是否可以在其他编译器上正常运行。你认为我可以用这种方式吗,或者你有什么更好的建议来解决这个任务。

0 投票
2 回答
698 浏览

c - 使用 bsearch() 搜索 char 数组时是否可以找到元素的位置

第一次使用 bsearch() 我想知道有没有办法找到元素的位置或返回元素?

我有 bsearch() 工作,它返回一个指针,但我不能用它来打印元素。

0 投票
1 回答
660 浏览

c - 在 C 中使用 bsearch 的分段错误

我的程序在使用 bsearch() 的行上出现分段错误。我在这里做错了什么?这是我的比较功能。我在 qsort 中使用了类似的版本,但现在我需要在 bsearch 中使用这个版本:

player_t 类型只是一个包含一堆不同成员(如 nameLast、nameFirst 等)的 Struct。我无法弄清楚我的 bsearch() 参数有什么问题!

0 投票
1 回答
110 浏览

arrays - 有什么方法可以让 bsearch 始终如一地进行相等匹配?

docs 中的示例数组一样,传递相等会返回不一致的结果:

>=如文档所示,您可以使用;获得正确的结果 但是你也会得到:

当您专门寻找时,这不是您想要的6。你如何让它返回一致的结果?