1樓:何處可人生
a:while(1)c語言中1代表結果為真,雖然while裡面有break,但是i=i%100+1使i不可能為100,所以死迴圈,
c:k=0,但是do語句中是先執行一次迴圈內容再進行判斷,所以死迴圈。
d:for(;;)for語句中第一個分號後面的是判斷退出條件,這點與while不同,如果while裡面沒有東西會報錯的,for語句如果沒有就是沒有停止條件,不會停止,所以死迴圈
希望能幫助到你
2樓:
答案是c麼?我覺得a非死迴圈。
a %是取餘數的意思,第一次迴圈的時候i=100,在迴圈體內i=100%100+1=1.不滿足if條件,第二次迴圈,i=1%100+1=2,第三次迴圈i=3....當第一百次迴圈,i=99%100+1=100,滿足if條件,break跳出迴圈體。
c while()中的括號內為真時迴圈,++s%2+s%當s為10(偶數)時,++s為11%2,餘數為1,s%2為0.所以while(1),s++(11為奇數),++s為12%2,餘數為0,s%2為1.所以while(1),依次類推,while括號內恆為1,即為死迴圈。
d for語句沒有判斷條件,就跳不出迴圈,自然是死迴圈。
以上完全是個人意見,僅供參考
3樓:風簫雨音
a的while(1)與i無關,因為while總是為真所以是一個死迴圈;
c因為k本身就大於0,而do裡面的++k,使k一直增加,這樣k就永遠大於0,無法結束迴圈;
d中for語句裡沒有判斷迴圈結束的條件(for(i=0;i<10;i++)這裡i<10就是一個判斷條件。)。
4樓:匿名使用者
ture,迴圈,false,退出迴圈
ture!=0,false==0;
a 1!=0,永遠成立;
c ++s%2+s%2中第二個s的值為++s的值,所以當++s是偶數時,退出迴圈;
d 沒有判斷語句,死迴圈
for語句中沒有判斷條件是不是就會死迴圈
5樓:匿名使用者
c語言中,for( 表達
式1; 表示式2; 表示式3);
表示式1是初始條件, 表示式2是終止條件,表示式3是變數變化方式。
表示式2即(終止條件)為空,確實是無法退出的。
更簡化(極端)的做法是,三個表示式全空,即:
for( ; ; ),也可達到同樣的效果。
6樓:匿名使用者
這種說法不完全正確,因為不僅有break跳出迴圈,函式中還可以有return跳出函式,還有goto可以任意跳轉,或者exit()函式直接退出程式。
7樓:匿名使用者
for(;;) while(1)
c語言中什麼叫死迴圈?怎麼避免?
一道簡單的c語言,一道c語言程式設計?
m是計算執行的次數,二重迴圈的迴圈次數就是外迴圈次數 內迴圈次數。外迴圈 1,5,9,13 內迴圈 3,7,11,15,19 4 5 20次,所以m 20 功能是輸出兩層巢狀迴圈執行的次數。用外迴圈執行次數 內迴圈執行次數。外迴圈變數的值變化 共4次。內迴圈變數的值變化 共5次。所以m的值為20 4...
一道簡單的c語言題,一道簡單的C語言題
這個程式的目的是將你輸入的字串中的a,a互換大小寫.但程式寫錯了.首先scanf遇到空格就停止了,所以s只接收到了ahama.其次,還是同樣的問題,scanf是遇到空格停止的,所以s中並沒有 n 因此while迴圈並不是如你想象到的ahama就結束了,而是會繼續下去,導致s i 訪問無效資料.再次,...
c語言 acm一道 很簡單的,c語言 ACM一道 很簡單的
樓上的回答不太好,有點篡改樓主的意思!我的回答也是樓主的迴圈條件 有問題,不過改法是這樣的 while scanf d d a,b 2 在兩個 d之間刪除那個多餘的空格。scanf在掃描的時候,字串裡面多的空格它也是需要進行匹配的。所以樓主只要連續碼兩個 d d 就可以了。實際從鍵盤向程式輸入時,由...