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

5<=5 是对的为什么只有5行每行5个 不应该6个吗

#include <stdio.h>
int main()
{
    int i, j;
    for(i=1; i<=5; i++)
    {
       for(j=1;j<=5;j++)
       {
           printf("*");
       }
       printf("\n");
    }
    return 0;
}

5<=5  是对的为什么只有5行每行5个 不应该6个吗

正在回答

1 回答

第一次执行后*****,j=2

第二次*****,j=3

第三次*****,j=4

第四次*****,j=5

第五次执行后*****,j=6,不符合j<=5,结束输出

j++是j自增1,j<=5此处可以看出j<6,6不符合,初始值为1,5-1+1=5,(j<=5,5个,减去初始值1,再加上第5个本身的1,j=5-1+1,当然就只有5个。

如果是6个,那应该(j=0;j<=5;j++),j<=5,5个,减去初始值0,加上第5个本身,5-0+1,就是6个。

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

Hino 提问者

int i, j, k; for(i=1; i<5; i++} { for(j=i;j<5;j++) { printf(" "); } for(k=0;k<i*2-1;k++) { printf("*"); 这个执行代码过程看不懂能解释下吗 i 执行1次 j是执行4次完还是执行1次 j执行1次完k是执行4次还是1次
2016-05-11 回复 有任何疑惑可以回复我~
#2

莫寻墨迹 回复 Hino 提问者

你这代码有错啊= =这个与 { 相对应的 } 没有补全,自然是看不懂的。
2016-05-11 回复 有任何疑惑可以回复我~
#3

Hino 提问者 回复 莫寻墨迹

全打完超过300多回复不了 就是想弄明白 输出的时候那个先输出 i 执行1次 j是执行4次完还是执行1次 j执行1次完k是执行4次还是1次
2016-05-12 回复 有任何疑惑可以回复我~
#4

莫寻墨迹 回复 Hino 提问者

i=1,j=i=1,j++,j=2,输出1,然后j<5继续循环,j++.j=3输出j=2,j++,j=4输出j=3,j=5停止,然后i++,i=2.j=i=2,j++,j=3,输出2,第一次就是执行j4次完就等于执行i一次,第二次就执行j3等于执行i一次
2016-05-16 回复 有任何疑惑可以回复我~
查看1条回复

举报

0/150
提交
取消

5<=5 是对的为什么只有5行每行5个 不应该6个吗

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