c語言這個為什麼會陷入死迴圈,求大神解釋,修改

2021-03-04 00:12:40 字數 797 閱讀 9367

1樓:匿名使用者

你這死迴圈在這裡

while(p!

抄=null)

q=p->next;

q->next=p;

等價於p->next->next=p

這導致p指標始終在兩個結構體間迴圈,p!=null你這**有點酒駕的感覺,到處亂撞o(∩_∩)o~~

2樓:匿名使用者

你能不能作個註釋啊,能力有限看著暈。

head=(struct node *)malloc(sizeof(struct node));

head->next=null; //建立一個頭結點。

p=(struct node *)malloc(sizeof(struct node));

p=head;

這幾行是什麼意思,內p本身分配了一塊記憶體,容又給他賦新值。

c語言 為什麼for(;;)是死迴圈?求大神解釋

3樓:碧海風雲

c語言中來for迴圈包含三個部分:初自始化、條件、遞增for (initialization; condition; afterthought)

初始化是宣告(或者賦值)任何需要的變數的動作。如果你要使用多個變數,則變數的種類要一致。條件的部分則是檢查是否離開這個迴圈,也就是讓程式碼往下執行。

如果條件判斷為假,則離開迴圈。遞增在每跑一次迴圈都會重複執行一次。

for(;;),這個語句中缺少迴圈終止的條件,自然就是死迴圈了

C語言中什麼叫死迴圈?怎麼避免?

死迴圈就是沒有退出條件,或者退出條件永遠不可能為真的迴圈。我認為迴圈不一定要初始值,也不一定要有遞增或者遞減。但一定要有退出條件,並且這個條件要能夠有為真的時候。所以要避免死迴圈就要設好你的退出條件。迴圈有很多種。比如 1 while迴圈。2 for迴圈。但是他們都有三個條件必須滿足。1 初始值。2...

C語言中死迴圈怎麼解決,C語言中什麼叫死迴圈?怎麼避免?

c語言中死循bai環怎麼解決?du首先應該將對應的 zhi退出條件置為恆為真,然dao後按照 while迴圈 專 屬for迴圈 do while迴圈 三個迴圈模式分別描述。在這個過程中,還要注意管理好迴圈控制變數,使while 的條件有機會為false,或在迴圈體中加入break,並使它有機會執行。...

c語言問題,為什麼會輸出負數,C語言問題,輸出結果總是負數,求教

在你的switch語句最後都加一個default 看一下switch d switch u 如果出現error這行,說明你的fflush 沒有起作用,改正方法是在scanf 函式後,加一個getchar 如果沒有出現,把你的輸入資訊粘出來,即x d u都是什麼。再幫你看 這個問題有多種可能,不一而足...