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,这不是一个有效的内存地址.因此,分段错误.