c語言程式出現死迴圈,C語言中死迴圈怎麼解決?

時間 2021-10-17 05:10:03

1樓:隨心e談

測試下面的**

#include

#include

int main()

char a[81];

int i=0,j=0;

while ((a[i]=getchar())!='\n')i++;

a[i]='\0';

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

printf("%d %d \n %s\n",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 \n %s",i,j,a);

fflush(stdin);//清除緩衝

getchar();

return 0;

執行結果

輸入為第一行的資料

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

2樓:匿名使用者

可以設定迴圈計數變數

為了防止程式出現死迴圈,最好的辦法當然是自習檢查程式,保證邏輯正確就好了。如果不放心可以設定迴圈計數變數,嵌入迴圈,當溢位上限時停止程式並報錯即可。

3樓:疾速的形象

a[j] == '0' && a[j+1]!='\0' 當&&前面的表示式為假的話就不會判斷後面的表示式,所以當前面的表示式永遠為假時就一直迴圈下去。

4樓:金魚

對於死迴圈程式,只能強制退出。

1、控制台程式中的死迴圈程式,一般按ctrl+c直接中斷程式即可。比如下面的死迴圈控制台程式。

int main()

按ctrl+c即可中斷程式。在控制台下會顯示為^c。

2、圖形介面中的死迴圈程式,可以使用程序管理工具來強制結束,比如windows上的任務管理器。當然控制台死迴圈程式,也可以使用此種方法結束。以win7為例,在工作列上右鍵,在彈出選單中選擇「任務管理器」。

在任務管理器中找到要結束的程序,右鍵選擇「結束程序」即可。

5樓:匿名使用者

怎麼可能呢?我認為不是這原因

6樓:匿名使用者

c語言中死迴圈怎麼解決?

7樓:一籃子陽春白雪

c語言中死循bai環怎麼解決?

du首先應該將對應的

zhi退出條件置為恒為真,然dao後按照「while迴圈」專「屬for迴圈 」「do-while迴圈」三個迴圈模式分別描述。

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

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

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

c語言中的死迴圈是什麼意思?

8樓:匿名使用者

就是迴圈條件總是滿足,無法退出迴圈啊

比如最簡單的:

while(1);

有時候不注意就容易引起這種情況:

int i=0;

while(i<10)

9樓:匿名使用者

死迴圈就是這樣的

int x=0;

while(x==0)

也就是說沒有關鍵性的結束迴圈的語句,導致沒有終止的執行迴圈體裡面的程式段,就是死迴圈

10樓:匿名使用者

沒有迴圈終止條件,或者說迴圈終止條件是不可能達到的。

想當初,學校機房裡有不少電腦死於我的死迴圈下啊。

11樓:牛一家

就是一直迴圈下去,程式一直在執行迴圈,不會退出。

12樓:理智之神

沒有盡頭的迴圈,約等於宕機

13樓:匿名使用者

for (i=0;;i++)

這種情況下i不斷自增,就形成死迴圈了

這個c語言程式輸入字母會出現死迴圈,為什麼?怎麼辦?

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

c語言出現死迴圈

急!!c語言出現死迴圈,如何解決? 255

c語言無限迴圈 死迴圈區別…

14樓:匿名使用者

無限迴圈不就是死迴圈麼

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

15樓:千鋒教育

無限迴圈與死迴圈沒有本質的區別,只是不一樣的說法而已。

常見的無限迴圈有一下幾種實現方式:

1、for(; ;) {}

2、while(1) {}

16樓:匿名使用者

無限迴圈可能是程式需要故意為之,如while(1);

死迴圈可能是程式設計的邏輯錯誤,使得程式未按照預想的那樣執行。

17樓:匿名使用者

這是因為while括號裡面的條件是k=1 而不是k==1,k=1是個賦值語句,永遠返回真。

18樓:匿名使用者

無限迴圈就是死迴圈,while(條件控制),因為k=1恒為真,所以是無限迴圈

C語言死迴圈如何退出?C語言中死迴圈怎麼解決?

在迴圈裡面加入break 這麼一句就會自動跳出迴圈了。在c語言裡,正在執行的死迴圈怎麼跳出 一般情況下,迴圈中都需要加入迴圈控制語句 當條件達到時,就會退出迴圈,例如。while 1 或for i 0 i i 如果你是說編譯器執行時今入死迴圈,關閉終端或者掐死程式程序就ok了。1 c語言中,強制終止...

c語言中的死迴圈是什麼意思,C語言中的死迴圈是什麼意思

冰至誠 死迴圈是迴圈條件永遠能夠得到滿足,迴圈永遠進行下去。這種迴圈一旦進入就出不來了 所以要設定跳出條件 例如for i 0 i 100 i if i 50 i 0 在這個迴圈中i永遠無法達到100,故迴圈永無止境,這個迴圈就是死迴圈。 無論怎麼如何執行都不能跳出的迴圈即為死迴圈。例如while ...

C語言怎麼退出while迴圈,c語言中while的用法

不不見不念 if條件語句寫錯了 if a 判斷字串相等不能用等號 if strcmp a,0 要這麼寫 while 是乙個迴圈體,退出迴圈體的方法有 1 迴圈體條件 不成立,如 while a 0 當 a 0 的時候,條件 a 0不成立,while 迴圈結束,退出 while 迴圈。2 在迴圈體內使...