gpt4 book ai didi

c - 为什么我的 strcmp() 失败了?

转载 作者:太空宇宙 更新时间:2023-11-04 08:25:31 26 4
gpt4 key购买 nike

我是 C 新手,正在学习字符串标记化。我试图通过以下方式比较两个字符串。但是我正在做的字符串比较失败了。

你能告诉我我在这里缺少什么吗?

我找不到另一个类似的问题,可能是因为我对 C 语言缺乏经验。如果存在,能否请您将我重定向到它?

char* input = "comparer here";

char* args[5];

int counter = 0;
char *tok = strtok(input, " ");
while (tok != NULL) {
args[counter] = tok;
counter ++;
if (counter == 5)
break;
tok = strtok(NULL, " ");
}

char* comp_str = "comparer";
if (strcmp(args[0], comp_str) == 1) {
// do some stuff
}

最佳答案

失败是因为 strcmp(及其兄弟)如果相等则返回零值,如果第一个小于第二个则返回负值,如果第一个大于则返回正值第二个。

未指定负值或正值。在大多数实现中,它是第一个不同字符的区别。但这并不能保证。

将结果与 1 进行比较不太可能成功。

关于c - 为什么我的 strcmp() 失败了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30720533/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com