慕沐6578414
2017-07-04 16:24
k=0的话第一行怎么输出*?还有k为什么<2*i-1?
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即可。
那为什么整个for循环执行一次后会在第二行进行第二次循环 不可以直接就进行第二次循环吗
C语言入门
926023 学习 · 20793 问题
相似问题