gpt4 book ai didi

C - 在没有 strcmp 的情况下测试字符串等价性

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

在我的一项大学作业中,我使用的图书馆受到限制。我是 C 和指针的新手,想看看两个字符串(或者我应该说 char's)是否相等。

我的一部分想要循环遍历“字符字符串”的每个字符并测试等价性,但随后它又回到了如何测试等价性(笑)。

感谢任何帮助。

编辑:我看到了这个:

  warning: result of comparison against a string literal is
unspecified (use strncmp instead) [-Wstring-compare]

这会导致段错误。我知道它与这段代码有关,因为我添加的是:

    if (example.name == "testName"){
printf("here!\n");
}

最佳答案

Part of me wants to loop through every char of the 'char string' and test equivalence

这正是您需要做的。做一个函数mystrcmp签名与 regular strcmp 相同,

int mystrcmp ( const char * str1, const char * str2 );

并编写您自己的实现。

but then it comes back how to test equivalence.

逐个字符循环时,测试的是单个字符的等价性,而不是字符串。 C 中的字符可以像数字一样对待:您可以使用 == 比较它们是否相等。 , 检查什么字符代码小于或大于使用 <> , 等等。

现在唯一要做的就是决定何时停止。您可以通过将每个字符串的当前字符与零(即空终止符)进行比较来实现这一点。

不要忘记转发声明您的 mystrcmp使用前的功能。

关于C - 在没有 strcmp 的情况下测试字符串等价性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28492231/

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