问题标签 [strcmp]

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 投票
4 回答
26509 浏览

string - 高效的字符串排序算法

通过比较对字符串进行排序(例如标准 QuickSort + strcmp 类函数)可能有点慢,特别是对于共享公共前缀的长字符串(比较函数需要 O(s) 时间,其中 s 是字符串的长度),因此标准解决方案的复杂度为 O(s * nlog n)。有没有已知的更快的算法?

0 投票
2 回答
301 浏览

php - PHP strcmp 问题

我一直在编写一个网络爬虫程序,我试图将以前的 url(最后访问的站点)与当前的 url(当前或下一个要访问的站点)进行比较。为此,我正在使用strcmp如下函数:

其中当前站点是先前站点和当前站点的数组。我每次都在更大的程序中循环遍历新站点。

但是,每次我strcmp在当前站点和新站点上运行 a 时,即使网址相同,我也会得到 -1 的结果。有谁知道为什么这可能会一直发生?

谢谢。

0 投票
3 回答
3994 浏览

c - 可加载的 Bash 内置

我正在编写一个内置的 strcmp bash。它编译得很好,但是当我尝试启用它时,我得到:

我内置的主要部分:

编译行(来自扩展的 make 文件):

我用谷歌搜索了 ET_DYN 和 ET_EXEC,只找到了此类问题的链接。

0 投票
1 回答
143 浏览

c - 使用指针打印值

我有一些不确定数量的变量及其计数的排序数组。我需要像这样构建一个字符串:

我的问题是数组实际上是一个指针,我不想使用固定长度的循环,所以我看到的唯一解决方案是使用数组指针。

这里的问题是strcmp(&cur, ++temp)==0每次都返回 false,即使我在调试器中看到它们的值。正因为如此,else 条件不断被构建,并在多次迭代后引发段错误。

两个问题:

1-strcmp即使输入相同的值,什么可以使返回非零?2-我可以做些什么来修复代码?

0 投票
2 回答
502 浏览

c - 使用 strcmp 在数组中查找匹配项

我试图使用 strcmp 比较数组的单词。我试图让在数组中出现多次的每个单词只打印一次,这样我就可以确定唯一单词的数量。我知道它在什么时候做错了什么搜索它打印出它找到的每个副本的数组,例如,如果单词“the”在数组中出现 4 次,它将打印出 'the' 3 次,当string1转到下一个 'the' 所在的位置时,它将打印 2 次,以此类推。

0 投票
2 回答
11324 浏览

c - 使用 strcmp 扫描数组

我想知道是否有一种方法可以使用strcmp. 我知道传递给的参数strcmp是 C 字符串。所以这样的事情是行不通的:

0 投票
3 回答
1062 浏览

c++ - 字符指针(由 new 分配)

我写了以下代码:

如果最初我希望这些数组为空,我不能这样做:

之后,如果我想将一些 cstring 添加到一个空数组中,我不能检查:

如果我不能做任何这些事情,请告诉我正确的方法......

0 投票
8 回答
284 浏览

c++ - 为什么比较 2 个字符串没有得到想要的结果?

下面是我想出的代码,老实说今晚是我第一次尝试编码。但是,我似乎无法让我的if陈述正常工作。即使我输入 Westley 或 westley 或(空格)Westley,它也只是简单地跳转到 else。

我希望该程序能够接受我的任何团队成员的名字,但是我认为我的名字可以正常工作,然后我可以稍后添加其余的名字。任何想法或帮助都会很棒。另外作为旁注,如果它回到开头,我将尝试循环它,还有什么想法吗?谢谢

0 投票
5 回答
72942 浏览

c - strcmp() 在 C 中返回值

我正在学习strcmp()C。我知道当两个字符串相等时,strcmp返回 0。

但是,当手册页状态strcmp在第一个字符串小于第二个字符串时返回小于 0 时,它是指长度、ASCII 值还是其他内容?

0 投票
4 回答
2538 浏览

c - 有趣的 strcmp 实现失败。(C)

我正在做一个小项目,我无法访问任何 C 标准库。(从头开始在 ARM 结构中构建微内核。甚至 printf 也必须实现)

在这种情况下,我使用 Duff 的机器方法实现了 strcmp。

以下是整个代码。

这是有道理的;有一段时间它似乎在测试用例上工作,直到最终系统发生故障。我追查到了这个strcmp。

起初我认为它首先增加了 str1 然后在 str2 增加之前与 str2 进行比较。1. 事实证明不是,但任何人都可以验证它在某些情况下会发生吗?

然后我发现问题出在 *str1 - *str2 中,因此将其更改为返回 1。即,生成的代码如下:

虽然我想要的只是一个“等于”检查,所以改成“1”没有问题,但我仍然想知道为什么原始代码会失败。2. 有人可以就它是如何失败的给出一个提示或建议吗?我宁愿希望 strcmp 遵循标准 C 接口,它返回一个非零值,该值告诉更多关于 str1 和 str2 的信息。

测试用例是:

当 *program 为“k3”时,它返回“k1”,而“test_libc”返回“perf”。

原来的问题是通过给它“return 1”来解决的,所以这个问题纯粹是为了C的利益。也欢迎提出建议或链接到 strcmp 文档。我看过 IEEE 的规范接口