程序上说的是j=i,也就是说从1开始自增,可是第一行的空格有三个,这样的话不就是第一行1个空格第二行2个空格了吗?不对啊,求解答。
父循环一次,子循环需要全部执行完,直到跳出循环。
for(i=1; i<5; i++) { for(j=i;j<5;j++) { printf(" "); } printf("\n"); }
i=1时,第一次进入子循环,j=1,2,3,4时会继续循环,共循环四次,每循环一次输出一个空格,循环四次会输出四个空格;
然后第一次子循环执行完毕(子循环循环条件为j<5)
进入下一次父循环
i=2时,第二次进入子循环,j=2,3,4时会继续循环,共循环三次,每循环一次输出一个空格,循环三次会输出三个空格;
i=3时..
以此类推
父循环一次,子循环需要全部执行完,直到跳出循环。
for(i=1; i<5; i++)
{
for(j=i;j<5;j++)
{
printf(" ");
}
printf("\n");
}
其中,加粗部分是父循环
i=1时,第一次进入子循环,j=1,2,3,4;
然后第一次子循环执行完毕(子循环循环条件为j<5)
进入下一次父循环
i=2...
以此类推
对于这样的问题,先附上你的代码。别人才能更好的回答你的问题。
对了还有求解释k的赋值,表达式2是k=2i+1,不应该是=吗????