使用带有*char的strcmp进行Seg Fault

Dan*_*003 3 c char segmentation-fault strcmp

我有这个结构

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

lista *listaCommand = NULL;
Run Code Online (Sandbox Code Playgroud)

我正在使用一个似乎工作正常的简单函数来填充listaCommand,因为我可以毫无问题地读取值,但如果我尝试比较,就像

strcmp(listaCommand->prox>command, ">")
Run Code Online (Sandbox Code Playgroud)

我只是得到一个分段错误,即使值>在那里,为什么会发生这种情况?

Nav*_*dse 10

strcmp(listaCommand->prox>command, ">") 
Run Code Online (Sandbox Code Playgroud)

应该

strcmp(listaCommand->prox->command, ">")
Run Code Online (Sandbox Code Playgroud)


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