当前位置:  开发笔记 > 编程语言 > 正文

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

如何解决《使用带有*char的strcmp进行SegFault》经验,为你挑选了1个好方法。

我有这个结构

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

lista *listaCommand = NULL;

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

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

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



1> Navnath Gods..:
strcmp(listaCommand->prox>command, ">") 

应该

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


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

推荐阅读
赛亚兔备_393
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有