第四个删除案例链表程序中的错误

时间:2017-10-23 18:00:30

标签: c

当删除链表中存在多个字符串时,它会给出运行时错误,参见案例4,当链表中只有一个节点时,如果存在多个节点,则会有正确的删除,然后它会给出运行时错误

$.fn.modal.Constructor.prototype.enforceFocus = function () {
    var $modalElement = this.$element;
    $(document).on('focusin.modal', function (e) {
        var $parent = $(e.target.parentNode);
        if ($modalElement[0] !== e.target && !$modalElement.has(e.target).length
            // add whatever conditions you need here:
            &&
            !$parent.hasClass('cke_dialog_ui_input_select') && !$parent.hasClass('cke_dialog_ui_input_text')) {
            $modalElement.focus()
        }
    })
};

1 个答案:

答案 0 :(得分:0)

我认为以下是您的问题。 如果列表是这样的,你希望删除元素3:

1 -> 2 -> 3 ->NULL

然后在第二次迭代prev指向2temp指向3

在你的代码中,即

else
{
   prev->next=temp->next;
   (temp->next)->back=prev;
   free(temp);
   count--;
   flag=1;
   printf("\n data is deleted \n");                                                
}

更准确地说,在(temp->next)->back=prev;语句中,您正在访问back temp->next,其中temp->next恰好为NULL。我认为这是你错误的根源!