这是什么意思?
为啥不是k<=i*2-1
举个例子
第一次执行(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)不成立!!!结束循环,执行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)不成立!!!结束循环,最终结果第二行有3个*
如果是k<=i*2-1,那么会出现第一行有两个*,第二行有四个*这种情况
举报