課程
/后端開發
/C
/C語言入門
為啥不是k<=i*2-1
2017-08-10
源自:C語言入門 4-12
正在回答
舉個例子
第一次執行(i=1; i<5; i++),然后進行到子循環中的兩個for循環,此時i=1,當執行第二個for子循環( k=0; k<2*i-1 ;k++ ?) 時,判斷k<2*1-1(等于1)成立,執行代碼塊輸出一個*,然后K++得到k=1,再判斷k<2*1-1(等于1)不成立!?。〗Y束循環,執行i++得到i=2,所以得到的圖形第一行只有一個*
又一次回到最初的for父循環,當執行到第二個for子循環( k=0; k<2*i-1;k++)時(注意k=0,i=2了),判斷k<2*1-1(等于3)成立,執行代碼塊輸出一個*,然后K++得到k=1,繼續判斷k<2*1-1(等于3)成立,執行代碼塊輸出一個*,然后k++得到k=2,繼續判斷k<2*1-1(等于3)成立,執行代碼塊輸出一個*,然后k++得到k=3,最后判斷k<2*1-1(等于3)不成立?。。〗Y束循環,最終結果第二行有3個*
如果是k<=i*2-1,那么會出現第一行有兩個*,第二行有四個*這種情況
舉報
C語言入門視頻教程,帶你進入編程世界的必修課-C語言
1 回答這是什么意思
2 回答 這是什么意思?
1 回答這是什么意思?
2 回答這是什么意思
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2017-08-11
舉個例子
第一次執行(i=1; i<5; i++),然后進行到子循環中的兩個for循環,此時i=1,當執行第二個for子循環( k=0; k<2*i-1 ;k++ ?) 時,判斷k<2*1-1(等于1)成立,執行代碼塊輸出一個*,然后K++得到k=1,再判斷k<2*1-1(等于1)不成立!?。〗Y束循環,執行i++得到i=2,所以得到的圖形第一行只有一個*
又一次回到最初的for父循環,當執行到第二個for子循環( k=0; k<2*i-1;k++)時(注意k=0,i=2了),判斷k<2*1-1(等于3)成立,執行代碼塊輸出一個*,然后K++得到k=1,繼續判斷k<2*1-1(等于3)成立,執行代碼塊輸出一個*,然后k++得到k=2,繼續判斷k<2*1-1(等于3)成立,執行代碼塊輸出一個*,然后k++得到k=3,最后判斷k<2*1-1(等于3)不成立?。。〗Y束循環,最終結果第二行有3個*
如果是k<=i*2-1,那么會出現第一行有兩個*,第二行有四個*這種情況