gpt4 book ai didi

使用 Strcmp 的 C 段错误

转载 作者:太空宇宙 更新时间:2023-11-03 23:29:55 24 4
gpt4 key购买 nike

我正在编写一个程序来检查 C 中不同类型的括号是否匹配,我是 C 的新手,所以我知道段错误与内存有关,但不确定如何解决我的问题?

预期的输出是有人会输入 test_string,这样会成功,而这样做会打印失败。
谢谢

最佳答案

您的代码的问题很可能是由您的编译器的警告确定的:您应该看到很多警告,告诉您您正在将 char 传递给需要 char* 的函数

strcmp 函数需要 C 字符串,而不是简单的 char*,这意味着在字符串的最后一个字符之后应该有一个空终止符。这就是为什么即使将指针传递给单个字符也会失败的原因。

如果你想比较单个字符,你只需要一个普通的==:

if(test_string[x] != '[')
...

关于使用 Strcmp 的 C 段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18419292/

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