c語言鍊錶的小問題

2021-09-22 18:26:47 字數 1548 閱讀 3993

想不通咋不能用呢。。

//鍊錶//

#include

#include

struct grade_info

;typedef struct grade_info node;

node *create_linklist();

void insert_linklist(node *head,node *pnew,int i);

void delete_linklist(node *head,int i);

void display_linklist(node *head);

void free_linklist(node *head);

void main()

pnew->score=88;

insert_linklist(head,pnew,3);//在第三個節點後插入乙個資料為88的節點

printf("after insert: ");

display_linklist(head);//刪除第三個節點

delete_linklist(head,3);

printf("after delete: ");

display_linklist(head);

free_linklist(head);//構建乙個鍊錶函式//

node *create_linklist()

head->next=null;

tail=head;//這裡都是關於指標的操作//

printf(「input the score of students:\n」);

while(1)

pnew->score=score;//通過指標成員訪問->將資料放入節點的資料域//

pnew->next=null;//將節點指標域置null//

tail->next=pnew;//節點插入到尾節點後(鍊錶尾)//

tail=pnew;//(原先含義上的)尾指標指向插入的尾節點。特別說明的是在邏輯上是使得插入的節點成為尾節點,以便後續的鍊錶內容修改//

}return(head);//放回構建的煉表頭指標(首位址)以呼叫//

}//鍊錶插入函式//

void insert_linklist(node *head,node *pnew,int i)

pnew->next=p->next;

p->next=pnew;//相當於把原先已有的關係(原先第i個節點和第i+1個節點的關係)賦值給了新的關係(現在第i個節點和插入節點的關係),後續再進行一次關係建立,完成一次插入操作//

}//鍊錶輸出函式//

void display_linklist(node *head)

//鍊錶刪除函式//

void delete_linklist(node *head,int i)

q=p->next;

p->next=q->next;

free(q);

//鍊錶刪除函式//

void free_linklist(node *head)

free(head);

}

c語言的小問題

在c語言程式設計中要注意乙個小問題,如果你編寫scanf d n printf d n 這個你輸入幾就輸出幾,毫無疑問。但是現在問題來了?如果scanf d n scanf c m 如果你輸入了3和乙個回車鍵,這個時候m的值就是回車鍵。回車鍵回作為乙個字元輸入到m中的。所以當你輸入了數字,後面又要輸...

C語言的小問題

二 c的基礎語法 來自書本 三 常用自定義函式 複習 與或非 運算 與 運算 gpioa crl 0xffffff0f 4 7位清零 gpioa crl 0x00000040 4 7位設為1.設定相應位置的值左移 右移 將 1 左移 pinpos 位 gpiox bsrr unit32 t 0x01...

C語言小問題

define max a,b 於是我開始修改 檢視各種 反饋的結果。int a 10,b 100 int x 好吧,我把圓括號給刪除了,於是編譯器給我報錯了。error expected expression before int int a,b 好吧,不能沒有圓括號,雖然現在還不知道是為啥。然後我...