第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

代碼如下,輸出沒有什么大的問題就是會(huì)彈出一個(gè)錯(cuò)誤黑色的提示框?

代碼如下,輸出沒有什么大的問題就是會(huì)彈出一個(gè)錯(cuò)誤黑色的提示框?

C++ C
皈依舞 2022-08-05 10:10:24
#include <stdio.h>#include <malloc.h>#include <stdlib.h>typedef int QElemType;typedef struct QNode {QElemType data;struct QNode *next;}QNode;typedef struct{QNode *front,*rear;}LinkQueue;void enQueue(LinkQueue *Q, QElemType e);/*入隊(duì)列操作*/void delQueue(LinkQueue *Q,QElemType *e);/*出隊(duì)列操作*/void printQueue(LinkQueue *Q);/*依次輸出隊(duì)列*/main(){LinkQueue *myQueue;QNode *s;QElemType elem;myQueue=(LinkQueue *)malloc(sizeof(LinkQueue));s=(QNode *)malloc(sizeof(QNode));s->next=NULL;myQueue->front=myQueue->rear=s;enQueue(myQueue,5);enQueue(myQueue,7);enQueue(myQueue,9);delQueue(myQueue, &elem);printf("出隊(duì)列的元素為:%d\n",elem);printQueue(myQueue);}void enQueue(LinkQueue *Q, int e)/*入隊(duì)列操作*/{QNode *s;s=(QNode *)malloc(sizeof(QNode));s->data=e;s->next=NULL;Q->rear->next=s;Q->rear=s;}void delQueue(LinkQueue *Q, int *e)/*出隊(duì)列操作,將刪除的結(jié)點(diǎn)值保存在參數(shù)*e中*/{ QNode *s;if(Q->front==Q->rear){printf("隊(duì)列為空!");exit(1);}s=Q->front->next;*e=s->data;Q->front->next=Q->front->next->next;free(s);}void printQueue(LinkQueue *Q)/*依次輸出隊(duì)列*/{if(Q->front==Q->rear){printf("隊(duì)列為空");exit(1);}while(Q->front!=Q->rear)/*老師告訴我說是這里的while是死循環(huán),為什么是死循環(huán)呢,不是很懂,請(qǐng)細(xì)說。請(qǐng)幫我改為正確的代碼,謝謝。*/{printf("%d, ", Q->front->next->data);Q->front->next=Q->front->next->next;}exit(0);}
查看完整描述

2 回答

?
慕無忌1623718

TA貢獻(xiàn)1744條經(jīng)驗(yàn) 獲得超4個(gè)贊

 黑色的提示框是程序運(yùn)行結(jié)果窗口,不是錯(cuò)誤的窗口

  代碼錯(cuò)誤說明如下:


while(Q->front!=Q->rear)//在本循環(huán)體之中,Q->front Q->rear的值始終沒有變化//故而在這里肯定是一個(gè)死循環(huán){    printf("%d,  ", Q->front->next->data);    Q->front->next=Q->front->next->next;}//改正后的代碼如下:QNode* s = Q->front;while(s!=Q->rear){    printf("%d,  ", s->data);    s=s->next;}

  另外,所有的函數(shù)當(dāng)中不應(yīng)該有exit

  exit是一個(gè)系統(tǒng)函數(shù),表示結(jié)束程序,而不是退出函數(shù)

  如果需要退出函數(shù)可以使用return來達(dá)到該目的


查看完整回答
反對(duì) 回復(fù) 2022-08-08
?
POPMUISE

TA貢獻(xiàn)1765條經(jīng)驗(yàn) 獲得超5個(gè)贊

你的代碼是想把front到rear的值全部輸出
但是你下面的操作自己檢查一下沒有改變front的值,也沒有改變r(jià)ear的值,所以front!=rear是死循環(huán)
如果好一點(diǎn)的話
void printQueue(LinkQueue *Q)/*依次輸出隊(duì)列*/
{
if(Q->front==Q->rear)
{
printf("隊(duì)列為空");
exit(1);
}
while(Q->front!=Q->rear)/*老師告訴我說是這里的while是死循環(huán),為什么是死循環(huán)呢,不是很懂,請(qǐng)細(xì)說。請(qǐng)幫我改為正確的代碼,謝謝。*/
{

printf("%d, ", Q->front->data);
Q->front=Q->front->next;
}
//exit(0);
}試試可不可以


查看完整回答
反對(duì) 回復(fù) 2022-08-08
  • 2 回答
  • 0 關(guān)注
  • 160 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)