我在整个论坛中搜索过,我看到很多人遇到了同样的问题,但我无法解决。 我一直得到:“条件跳转或移动取决于未初始化的值”错误在以下代码:
void printStack(stack S)
{
node current;
current = (node)S->last;
while(current != NULL)
{
S->labelFunc(current->value);
current = current->prev;
}
//free(current);
}
printStack函数正在获取堆栈并打印堆栈的元素(因为堆栈是ADT),它们是char * s。 由于一些奇怪的原因,我继续在while行上得到错误,我试图mallocing当前节点的一个地方,我尝试初始化它的prev和下一个指针,我试着检查我得到的堆栈是否为null,但所有这些是徒劳的......
labelFunc只是一个打印函数,它打印每个char *。
感谢
答案 0 :(得分:1)
最可能的原因是S->last
(或其中一个node->prev
指针)尚未初始化。