亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

有沒有大佬幫忙結合下列簡要介紹下goto的用法及end的意義?謝謝!

有沒有大佬幫忙結合下列簡要介紹下goto的用法及end的意義?謝謝!

慕沐林林 2021-09-19 13:13:24
struct student* del(struct student* head, long num){struct student *p1, *p2;if(head == NULL){printf("\nlist null\n");goto end;}p1 = head;while(num != p1->num && p1->next != NULL)//p1指向的不是所要的結點,并且后還有結點。{p2 = p1;p1 = p1->next;//p1向后移一個結點。}if(num == p1->num){if(p1 == head){head = p1->next;}else{p2->next = p1->next;}printf("delete:%ld\n",num);n = n-1;}else{printf("%ld not been found!\n", num);//找不到該結點。}end://這個end是什么意思?為什么寫在這里?return head;}
查看完整描述

2 回答

?
ABOUTYOU

TA貢獻1812條經驗 獲得超5個贊

"goto xxx"表示跳轉到"xxx :"節點處,這里的"end"就相當于"xxx",并無實際意義僅作閱讀方便。
該代碼的目的是如果“head"(目測是鏈表頭)是空指針就直接退出函數,因此在if(head == NULL)下直接跳轉到"end"也就是標記好的函數的末尾處

查看完整回答
反對 回復 2021-09-23
?
呼喚遠方

TA貢獻1856條經驗 獲得超11個贊

end冒號表示這里是一個goto可以跳轉到的標記,這樣在本函數內就可以隨時用goto跳轉到這個標記所在位置然后從這個位置繼續執行……

查看完整回答
反對 回復 2021-09-23
  • 2 回答
  • 0 關注
  • 495 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號