为了账号安全,请及时绑定邮箱和手机立即绑定

为什么在第一个自循中 j=i 想不通

 for(j=i ; j<5; j++  )

正在回答

4 回答

j=i=1 从一开始,因为每行的空格数不相等 所以你不能使J=一个常量 所以和外循环结合起来;当然你可以使J= i+但是这样的话只有三行了  。它这其实的空格数不是像它说的每行空格数 = 最后一行*-当前行*/2

而是 4 3 2 1 的分布 那个J<4 才是     每行空格数 = 最后一行*-当前行*/2

1 回复 有任何疑惑可以回复我~

为了在每次循环中输出不一样数量的空格,如果j和i不关联在一起就无法做到,如下

#include <stdio.h>

int main()

{

int i, j, k;

for(i=1; i<5; i++)

{

for(j=1; j<5; j++)

{

printf(" ");

}

for(k=0; k<2*i-1; k++)

{

printf("*");

}

printf("\n");

}

return 0;

 } 

上面j=1就不能不会在每次循环中输出不一样的空格,只会输出同样数量的空格,所以需要是j=i(注意这两个区别很大),当然你也可以在后面的表达式2中限制它,如for(j=1; j<-1*i+6; j++),也可以有同上的效果。


0 回复 有任何疑惑可以回复我~

这不是你自己设置的吗。。。

0 回复 有任何疑惑可以回复我~

j=i=1 从一开始,因为每行的空格数不相等 所以你不能使J=一个常量 所以和外循环结合起来;当然你可以使J= i+1但是这样的话只有三行了  。它这其实的空格数不是像它说的每行空格数 = 最后一行*-当前行*/2

而是 4 3 2 1 的分布 那个J<4 才是     每行空格数 = 最后一行*-当前行*/2


0 回复 有任何疑惑可以回复我~
#1

慕粉4285392

其实使j=i+1也可以,有谁规定最后一行一定要有空格的,想必你是看了答案的吧……
2016-11-07 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么在第一个自循中 j=i 想不通

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信