當前位置:首頁 » 編程語言 » c語言死循環是錯誤語言嗎
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言死循環是錯誤語言嗎

發布時間: 2022-06-15 13:53:56

c語言程序出現死循環

測試下面的代碼

#include<stdio.h>

#include<string.h>

intmain()

{

chara[81];

inti=0,j=0;

while((a[i]=getchar())!=' ')

i++;

a[i]='';

printf("%d%d %s ",i,j,a);

while(a[j]=='0'&&a[j+1]!='')

j++;

printf("%d%d %s ",i,j,a);

if(j!=0)

for(i=0;i<=(strlen(a)-j);i++)/*不建議這樣寫i<=(strlen(a)-j),

因為這是個動態的字元串,最好先求出字元串的長度在放進去,

二來更有效率,不用每次都計算字元串的長度*/

a[i]=a[i+j];

printf("%d%d %s",i,j,a);

fflush(stdin);//清除緩沖

getchar();

return0;

}


運行結果


輸入為第一行的數據

運行沒異常!不知道你用的編譯器是什麼?綠色版精簡版?我使用的是vs2010

㈡ C語言中死循環怎麼解決

C語言中死循環怎麼解決?

首先應該將對應的退出條件置為恆為真,然後按照「while循環」「for循環 」「do-while循環」三個循環模式分別描述。

在這個過程中,還要注意管理好循環控制變數,使while 的條件有機會為FALSE,或在循環體中加入break,並使它有機會執行。

另外,也可以設置循環計數變數。為了防止程序出現死循環,最好是自習檢查程序,保證邏輯正確。如果不放心的話,可以設置循環計數變數,嵌入循環,當溢出上限時停止程序並報錯。

需要說明的是,死循環盡量少用。如果一定要用死循環,也要在循環體內設置退出條件(break)。

㈢ c語言編程的時候有個死循環 求大神找一下邏輯錯誤

最後的兩個 break,分別無條件的推出while(1)、while(Leave(&Enter,&Temp,&Wait))這兩個循環,這兩個循環還有什麼意義?
死循環如果存在也是由本段程序之外造成的。

㈣ C語言中的死循環是什麼意思啊

死循環是循環條件永遠能夠得到滿足,循環永遠進行下去。這種循環一旦進入就出不來了
所以要設置跳出條件

㈤ C語言中什麼叫死循環怎麼避免

死循環就是不停的執行for循環,while循環。
避免死循環要看下死循環是如何產生的,
例如在C語言程序中,語句「while(1)printf("*");」就是一個死循環,運行它將無休止地列印*號。
產生死循環的情況有:
▪ 邏輯錯誤
▪ 變數處理錯誤
▪ 奧爾德森循環
▪ 無窮遞歸

你可以看下這些死循環出現的原因,然後在開發中避免一下。

㈥ c語言錯誤,能夠執行,但輸入數字按回車後沒有反應,是不是死循環謝謝

是死循環:

while(n%i==0)//此處如果為真,則永遠為真
{
j=j+1;
}

㈦ C語言無限循環 死循環區別…

無限循環不就是死循環么

k=1不是k==1,它是一個賦值語句而不是比較語句,返回的值為1,所以會一直執行下去。

㈧ c語言死循環問題

不是死循環!
這么寫也沒錯,不過不建議這么些;最好的寫法應該是: while((*d++=*s++) !='\0');可讀性會更強一點,意義上是一樣的.
你能看得懂我就不再解釋了,看不懂就追問吧.

㈨ 關於C語言的為什麼死循環問題(請逐一解釋)

第一個死循環:while(s)後面緊跟分號,表示其循環體為空,執行完循環後再執行後面一句自減,由於s初始化為36,即非零,循環體未對s進行改變,所以循環一直為真。即該循環為死循環。
第二個死循環:for的三個表達式均為空,即表示無條件循環(死循環)。

㈩ 請教高手有關C語言死循環問題

答案有錯誤,第一個只要輸入小於等於-3的奇數就不會死循環,第二個因為k>0總成立,所以是死循環