當前位置:首頁 » 編程語言 » c語言死循環的程序

c語言死循環的程序

發布時間: 2022-04-23 07:56:41

『壹』 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語言死循環程序

不知道我改後行不行,你自己再改改,主要是因為數組的下標越界
比如int a[5] ,它的元素是a[0]~a[4],千萬要注意啊,還有
if(d=1)這個語句是永真的,要判斷d是不是等於1
if(d==1)
#include<stdio.h>

main(){
int i,j,a,b,c,d,flag;
int flag1[5]={0,0,0,0,0};
int k[5][3];
int Available[3]={3,3,2};
int All[3]={10,5,7};
int Allocation[5][3]={0,1,0,2,0,0,3,0,2,2,1,1,0,0,2};
int Max[5][3]={7,5,3,3,2,2,9,0,2,2,2,2,4,3,3};
int Need[5][3]={7,4,3,1,2,2,6,0,0,0,1,1,4,3,1};
int Finish[5]={0,0,0,0,0};
for(d=0;d<5;d++)
{
for(i=0;i<5;i++)
{
j=0;
flag=1;
if(d==0)
{
while(j<3)
{
// k[i][j]=Available[j]-Need[i][j];
if((Available[j]-Need[i][j])<0)
{
flag=0;
flag1[i]=i;
printf("99999999");
break;
}else
{
j++;
}
printf("%d",j);
}
}

}
}
return;
}

『叄』 C語言中死循環怎麼解決

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

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

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

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

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

『肆』 在C語言里,正在執行的死循環怎麼跳出

1、C語言中,強制終止死循環可以用CTRL+BREAK組合鍵或者CTRL+C組合鍵。
2、命令解釋:
CTRL+BREAK 設置或清除 DOS 系統的擴展。CTRL+C 檢測這個命令是為了與 DOS 系統的兼容而保留的,在 Windows里不起作用。如果命令擴展被啟用,並且操作平台是Windows,BREAK 命令會在被調試程序調試時輸入一個硬代碼中斷點。
通過CTRL+BREAK組合鍵或者CTRL+C組合鍵能夠實現中斷死循環。

『伍』 C語言到#結束,但為什麼我的程序會陷入死循環啊

因為是在while前輸入的數據,循環過程中這個數據一直存在。

  1. 把scanf("%f%c%f",&a,&b,&c); while(b!='#'){改成while(scanf("%f %c%f",&a,&b,&c)==3 && b!='#'){。

  2. 把所有的continue;刪除。

『陸』 C語言死循環怎麼辦

先關了死循環的程序,在把改程序修改,主要是要找到循環的終止條件,找出要滿足你程序的一個條件,把它卸載循環內的話,用if 語句判斷之後,滿足你的限制條件之後,用 break,跳出循環,如果是用 for 循環,可以再循環的時候就設置循環的終止條件,for(AAA;BBB;CCC), 中的 表達式 BBB ,就是循環的終止條件;當然,在 for 循環中,可以省略表達式 BBB ;即 for(AAA; ; CCC) 並在循環體內,同樣,用 條件判斷,break跳出循環,總之,最主要的是,在你這個循環體內,要找出滿足你程序的某些條件,用它來作為循環的限制條件。如:要找出1~100 之間的素數,那有一個限制條件就是 for(Int i=2,i<=100; i++) 其中的i<=100就是限制條件啦!^_^

『柒』 C語言程序死循環

問題出在了這一句。
scanf("=%d",&b);
你之前輸入了一個數字之後,有一個回車,在這里就永遠匹配不到「=」了,所以死循環。改成
scanf(" %d",&b);
之前加一個空格來吸收回車就好了。
源碼如下:
#include "stdio.h"
#define a 10
int main(void)
{
int b,c;
printf("請輸入一個數\n");
scanf("%d",&b);
while(b>0)
{
c=b+a;
printf("你輸入的數%d加十=%d\n",b,c);
scanf(" %d",&b);
printf("這玩神馬點的\n");

}
printf("game ovre");
return 0;
}

『捌』 C語言中的死循環是什麼意思啊

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

『玖』 急!!c語言出現死循環,如何解決

這要看你輸入什麼了。有一個要點:scanf()的返回值是它成功讀入值的個數。如果你第一次輸入一個整數,那麼第一個scanf函數會成功讀入一個整數,它的返回值就是1,即ret的值是1。那麼for循環的關系表達式:ret!=1就不成立,整個循環就不會執行,程序直接停止。如果你第一次輸入了非整數,那麼第一個scanf函數成功讀入的值就是0,它返回0,即ret = 0。此時for循環的關系表達式:ret!=1成立,for循環才會開始迭代。如果你的程序執行的時候一直在列印,不給你輸入的機會,說明你清空輸入緩沖區的函數fflush沒起作用,緩沖區里保存的第一次非法輸入一直都在。你把 fflush(stdin); 改成: while(getchar()!='\n'); 就好了。

『拾』 C語言中程序如:for( ; ;);為什麼是死循環

for( ; ;);是一個典型的簡介的死循環。

解釋如下:

  1. 所謂循環就是讓計算機重復執行一段代碼;

  2. 循環的核心有兩個部分:循環控制、循環體;

  3. 循環控制部分的循環結束條件如果永遠成立,將會導致一直循環,俗稱」死循環「;

  4. 上面的程序:最後的分號,表示循環體為空,是空循環;括弧中的兩個分號之間是放循環結束條件的,這里也是空,等價於循環條件永遠成立。

for( ; ;);的循環條件永遠成立,所以導致死循環。

熱點內容
2014年3月c語言題庫 發布:2025-07-17 12:04:30 瀏覽:717
appid怎麼改密碼 發布:2025-07-17 12:02:43 瀏覽:176
手機端拍照上傳圖片 發布:2025-07-17 11:58:59 瀏覽:67
人事管理系統的資料庫設計 發布:2025-07-17 11:54:27 瀏覽:229
統治戰場kk腳本 發布:2025-07-17 11:53:45 瀏覽:239
安卓的數據線介面有什麼顏色 發布:2025-07-17 11:53:03 瀏覽:871
塑料壓縮器 發布:2025-07-17 11:52:15 瀏覽:724
手機百度雲如何秒上傳 發布:2025-07-17 11:46:27 瀏覽:612
交易貓買腳本靠譜嗎 發布:2025-07-17 11:32:27 瀏覽:520
伺服器系統盤一般做什麼陣列 發布:2025-07-17 11:16:05 瀏覽:363