求查錯C 連結串列問題

2022-02-27 18:28:04 字數 973 閱讀 9821

1樓:扈懷煒

#include "iostream.h"

#include "stdio.h"

#include "stdlib.h"

#define error 0

#define ok 1

typedef int elemtype;

typedef int status;

typedef struct lnodelnode,*linklist;

if(!p||j>i-1)return error;

s=(linklist)malloc(sizeof(lnode));

s->data=e;s->next=p->next;

p->next=s;

return ok;

}//插入

if(!(p->next)||j>i-1)return error;

q=p->next;p->next=q->next;

e=q->data;free(q);

return ok; //刪除

}//建立

void output(lnode *l)void main()

2樓:匿名使用者

這樣是不行的,原因是:aa[10]是search函式中的區域性變數,分配在棧上,其生命週期只存在於search函式執行過程中,所以裡面的內容在search函式結束後就不存在了。所以這時候再用指向aa的指標t也不能再正確獲取其內容了。

建議把aa[10]寫成singlelist的成員變數,再提供相應的訪問介面,這樣就可以在類外訪問了,其生命週期與儲存aa[10]的物件一致。

C 雙向連結串列問題,C 模板雙向連結串列問題

3全部 include using namespace std template class doublelist node prev null next null int thesize node head node tail public doublelist doublelist thesiz...

C語言連結串列邏輯問題

tail next null 本身沒有錯錯的是你的print 函式裡的while表示式while box next null 應該改為 while box null 只有box不為null,才能繼續遍歷,才有box next chuangjian 函式沒什麼大問題 問題主要在print 函式裡 vo...

c語言單連結串列問題這個程式執行有問題

主要是scanf的問題,這個函式作為輸入並不太好用。scanf d i 這裡輸入之後,讀取了i的值,但是從鍵盤輸入的回車鍵沒處理,還在緩衝區中,下次再呼叫gets函式的時候就讀取了緩衝區的回車符,所以第二次gets name 獲取的就是一個空字串,然後程式就結束了。解決辦法就是在scanf語句後面加...