gpt4 book ai didi

c - 使用带有 * char 的 strcmp 的段错误

转载 作者:太空狗 更新时间:2023-10-29 15:52:41 24 4
gpt4 key购买 nike

我有这个结构

typedef struct no
{
char command[MAX_COMMAND_LINE_SIZE];
struct no * prox;
} lista;

lista *listaCommand = NULL;

我正在用一个看起来工作正常的简单函数填充 listaCommand,因为我可以毫无问题地读取这些值,但是如果我尝试比较,比如

strcmp(listaCommand->prox>command, ">")

我只是遇到段错误,即使值 > 在那里,为什么会这样?

最佳答案

strcmp(listaCommand->prox>command, ">") 

应该是

strcmp(listaCommand->prox->command, ">")


在您的代码中,listaCommand->prox>command 将被视为比较操作,使用 > 运算符。 C 中的比较返回一个整数,如果为假则为 0,否则为非零。它很有可能会返回 0,这不是一个有效的内存地址。因此,段错误。

关于c - 使用带有 * char 的 strcmp 的段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16729664/

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