问答详情
源自:4-12 循环结构之多重循环

关于第一行输出*的问题

k=0的话第一行怎么输出*?还有k为什么<2*i-1?

提问者:慕沐6578414 2017-07-04 16:24

个回答

  • zhuwei6031
    2017-07-04 16:56:53
    已采纳

    k=0的时候不代表for循环不执行,它只是一个用来判断for循环内的语句是否执行的变量,判断的依据就是k<2*i-1,只要满足这个判断依据则for循环就执行。当k=0,i=1时,满足k<2*i-1,则for循环执行一次,之后k自加1变成1,便不满足k<2*i-1,for循环结束,整个for循环只执行一次,也就是第一行只打印一个*。k的值本身没什么实际意义,你要关心的是k变化了多少次,或者说是for循环的次数。这题中第i行的*数量为2*i-1,则for循环的次数就是2*i-1,那么k就可以取0~2*i-1,也可以取1~2*i,甚至可以取2~2*i+1,只要保证for的循环次数为2*i-1即可。

  • 大毕
    2017-07-17 18:07:04

    那为什么整个for循环执行一次后会在第二行进行第二次循环  不可以直接就进行第二次循环吗