关于第一行输出*的问题

来源:4-12 循环结构之多重循环

慕沐6578414

2017-07-04 16:24

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

写回答 关注

2回答

  • 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即可。

    慕沐6578...

    非常感谢!

    2017-07-06 11:03:55

    共 1 条回复 >

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

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

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926023 学习 · 20793 问题

查看课程

相似问题