1樓:堅持之藍色闊海
很高興為樓主解答,如果滿意,請採納!!
首先樓主的宣告和定義不一致:
宣告
定義
更正宣告部分為&e
更正完後呼叫 listsearch_l(l,3,30);
因為呼叫的函式的第三個引數為引用,不能直接用變數或者常量30
下面是主函式修改部分:
void main()
修改後就能正常了:
修改後的完整**也給你貼上
#include
#define size 5
using namespace std;
typedef int elemtype,status;
typedef struct lnode
lnode,*linklist;
void display(linklist l);
void main()
}void display(linklist l)
cout
++j;
}if(!p||j>i)
return 1;
e=p->data;
return 0;
if(!p||j>i-1)
return 0;
s=(linklist)malloc(sizeof(lnode));
s->data=e;
s->next=p->next;
p->next=s;
return 0;
if(!(p->next)||j>i-1)
return 0;
q=p->next;
p->next=q->next;
e=q->data;
free(q);
return 0;}
2樓:花花浪客
你說的執行不了是指編譯通不過吧?是函式定義部分的問題,下面這個函式體的部分:
......
//下面這些是查詢
{......
裡面的與函式的宣告
不相同,所以把實現部分的elemtype &e前面的&去掉,讓他和宣告一致就ok了
3樓:
//下面這些是查詢
去掉這裡的&
if(!p||j>i)
return 1;
e=p->data;
return 0;
//查詢操作:查詢元素40,30,並告訴使用者該元素是否存在, 查詢第3個元素}
c語言連結串列問題,c語言連結串列的問題
連結串列必須知道頭指標在哪第一個紅圈是初始化指標 因為你剛開始定義連結串列指標的時候指標指向的是隨機的 所以只能初始化 第二個紅圈是第一次給連結串列分配空間 如果頭指標為空就把連結串列指標給頭指標 這倆個語句確實只執行一次 但我沒理解你話的意思 你的理解當然不對了。前一個頭 head 尾 tail ...
c語言程式設計連結串列題,c語言程式設計連結串列題
include include include typedef struct student message stu struct student message static stu head null 建立一個節點,並賦予相應的數值 stu create link node char const...
c 建立連結串列
node p1 new node p2 new node head new node head next p1 p1 next p2 p2 next 0 這樣就建立了你說的 把p1接在頭指標後面,把p2接在p1後面的一個連結串列 頭指標,顧名思義,用來指示連結串列的開始處。頭指標並不存放資料,資料從...