1樓:徐臨祥
推薦回答一定是無線迴圈的,你這邊的條件k=1是一個賦值語句,永遠是對的,因此會無線迴圈下去。當條件k=1時,是無限迴圈;當條件k=1時,是一次也不執行。
2樓:匿名使用者
一定是無線迴圈的,你這邊的條件k=1是一個賦值語句,永遠是對的,因此會無線迴圈下去。
當條件k=1時,是無限迴圈;
當條件k==1時,是一次也不執行。
3樓:臺三詩
a原因是:for結構中間語句是迴圈判斷條件,只有滿足條件才迴圈,這裡是k=1,這是賦值語句,而非判斷條件。
下述for迴圈語句( )。 int i,k; for(i=0,k=-1;k=1;i++,k++)
4樓:墨汁諾
b。迴圈結束條來件k=1這個賦值語源句永遠為真。
首先**有誤應該為:
for(i=0;i++;i++)
for(k=1;k<3;k++)
printf("*");
第一次執行i=0,k=1,輸出一個星號,k=2,輸出一個星號,執行i++,i++後,i=2.
第二次執行i=2,k=1,輸出一個星號,k=2,輸出一個星號,然後執行i++,i++後,i=4,不滿足條件結束迴圈。
5樓:匿名使用者
b:迴圈結束條件k=1這個賦值語句永遠為真
若i和k都是int型別變數,有以下for語句 for(i=0,k=-1;k=1;k++) printf("*****\n");為什麼構成無限迴圈?
6樓:匿名使用者
for(i=0,k=-1; k=1; k++)for語句du中第一個語句(zhii=0,k=-1;)為初始賦值語句。第二個語句( k=1; )為迴圈判斷語句,dao這裡k=1是賦值語句,表邏輯回判斷時值為1,所答以構成無限迴圈。
應該寫成k==1;
for(i=0,k=-1;k=1;i++,k++) printf(" * * * *" );該迴圈語句()。
7樓:你嘻哈
首先**有
bai誤應該為:du
for(i=0;i++;i++)
for(k=1;k<3;k++)
printf("*");
第一次執行i=0,k=1,輸出一個zhi星dao號,回k=2,輸出一個星號,然後執行i++,i++後,i=2.
第二次答執行i=2,k=1,輸出一個星號,k=2,輸出一個星號,然後執行i++,i++後,i=4,不滿足條件結束迴圈。
總結:兩個i++照樣加兩次,由於第一個for迴圈後面沒有迴圈體也沒有分號結束,所以會繼續執行下一個for迴圈,而第二個for迴圈有迴圈體,有分號,所以當i=0和i=2時會分別執行兩次每次輸出兩個星號,一共4個星號,結果如下。
若i和k都是int型別變數,有以下for語句 for(i=0,k=-1;k=1;k++) printf("*****\n") 為什麼會構成無限迴圈
8樓:
k=1 是賦值語句,返回值為 1
9樓:匿名使用者
k = 1是賦值語句
判斷的話應該寫成這樣 k == 1 或者 k != 1
10樓:尼瑪真響亮
for(i=0,k=-1;k!=1;k++)
printf("*****\n");
k=1不是判斷語句,這句話執行後真值永遠是true,所以會一直執行
for(i=0,k=-1;k=1;i++,k++)printf("*");是無限迴圈還是一次也不執行?
11樓:匿名使用者
一定是無線迴圈的,你這邊的條件k=1是一個賦值語句,永遠是對的,因此會無線迴圈下去。
當條件k=1時,是無限迴圈;
當條件k==1時,是一次也不執行。
12樓:匿名使用者
無限迴圈,迴圈的條件是 k=1,這裡是k等於1而不是k==1如果等於1.k=1返回一個k的值為1 .1為真,所以迴圈無休止
for(i=0,k=-1;k=1;k++,i++)迴圈結束的條件不合法
13樓:戈燕皖
首先**有誤應該為:
for(i=0;i++;i++)
for(k=1;k<3;k++)
printf("*");
第一次執行i=0,k=1,輸出一個星號,k=2,輸出一個星號,然後執行i++,i++後,i=2.
第二次執行i=2,k=1,輸出一個星號,k=2,輸出一個星號,然後執行i++,i++後,i=4,不滿足條件結束迴圈。
總結:兩個i++照樣加兩次,由於第一個for迴圈後面沒有迴圈體也沒有分號結束,所以會繼續執行下一個for迴圈,而第二個for迴圈有迴圈體,有分號,所以當i=0和i=2時會分別執行兩次每次輸出兩個星號,一共4個星號,結果如下。
14樓:英獻系辰皓
第一題:i=0,k=-1是初始化i和k的值,k=1是判斷迴圈結束的條件.
因為k=1表示將1賦值給k,其結果是返回true,所以不管後面i和k怎麼變化,每次都會返回true,故迴圈無窮多次.
第二題:第一次執行迴圈時,i=0,j=1.i
若有定義:int i ,k ;則for迴圈語句:for(i=0,k=-1;k=1;i++,k++);是(c)
15樓:天星旋光
第一題:i=0,k=-1是初始化i和k的值,k=1是判斷迴圈結束的條件。
因為k=1表示將1賦值給k,其結果是返回true,所以不管後面i和k怎麼變化,每次都會返回true,故迴圈無窮多次。
第二題:第一次執行迴圈時,i=0,j=1。i<=j+1成立(因為0<=2成立),所以迴圈結束後,由i+=2可知,i變成了2,由j--可知j變成了0。
執行第二次迴圈時,i<=j+1不成立(因為2<=1不成立),所以迴圈結束,故只執行了一次。
16樓:
第一題迴圈無數次是因為k=1,也就是永真,即表示式2永遠成立,如果將k=1改為k==1,則該for迴圈將迴圈0次。
第二題很簡單,第一次迴圈i=0,0<2,所以迴圈一次,接著i變為2,j變為0,因為2不小於1,所以結束for迴圈,故只迴圈一次。
有不理解可再問。。就是沒有懸賞分有點不厚道。。。呵呵
17樓:匿名使用者
第一個如果可以這麼理解的話:迴圈條件為真迴圈即進行......不知道是不是
第二個... 不能理解
int i, k; 則for迴圈語句: for(i=0,k=-1;k=1;i++,k++)的結果
18樓:貢永芬夫君
兩個分號之間的k=1是賦值語句,這個語句的值(或者說返回值)就是等號右邊的值,即1.在c++中,非0值作為判斷條件時都認為是true,所以for迴圈的判斷語句都會成功.所以,除非在迴圈體內有break,return關鍵字,不然就是死迴圈!!
java迴圈語句的問題,Java迴圈語句的問題。
第一次迴圈時 i 0 執行int k i 這句 後i 1,k 1 所以第一次列印的i 1 當二次迴圈時,因為前一次迴圈後,i 1了 再執行迴圈條件i 後,i變成2了,最後再執行 int k i i就等於3了,k也變成3了,此時列印的i當然是3 當3次迴圈時,因為前一次迴圈後,i 3了 再執行迴圈條件...
For 迴圈的 問題,for迴圈語句是什麼?
optinon base 1,拼寫錯誤,應該是 option base 1,意思是設定陣列的下限從1開始。cosnt n 1,拼寫錯誤,應該是 const n 1,設定常量n的值為1 下面的 哎,都基本的東西,一看就懂的。for迴圈語句是什麼?for迴圈是程式語言中一種迴圈語句,其表示式為 for ...
以下各迴圈語句中不是無限迴圈的是
for i 0 i if i 10 break 這一句的for後面來有一個自分號,所以for每次執行的都是空語句,永遠都執行不到if i 10 break for i 1 i 10 i s i 至於這一句中i 10一直做得都是賦值語句,也就是i一直都是等於10,也就是一直為真,故為死迴圈了。for ...