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

为什么不能这么写这段代码?

为什么不能这么写这段代码?

C
我是北樱 2016-11-24 11:10:43
#include <stdio.h>int main(){    int i, j, k;    for(i=1; i<5; i++)    {        /* 观察每行的空格数量,补全循环条件 */        for(j=i;j<=5;j++)          {            printf(" ");    //输出空格        }        /* 观察每行*号的数量,补全循环条件 */        for(k=0;k<2*i-1;k++)         {            printf("*");   //每行输出的*号        }        printf("\n");     //每次循环换行    }    return 0;}输出空格的那段代码(加下划线的那段代码),为什么不能写成for(j=1;j=4-i;j++)?运行了一下结果第一行是对的,第二行开始就错了。
查看完整描述

4 回答

?
一叶追寻

TA贡献38条经验 获得超23个赞


j=4-i 是赋值,不是条件判断

查看完整回答
1 反对 回复 2016-11-24
?
慕粉3762900

TA贡献1条经验 获得超0个赞

j=4-i 是赋值,不是条件判断

查看完整回答
反对 回复 2016-11-24
?
jAMaICa

TA贡献7条经验 获得超1个赞


在for语句中(  ;  ;  )中间位置那里是一个判断语句,在你的错误例子中,就是若j=4-i,则循环,若不等于,则不循环,能懂吗

查看完整回答
反对 回复 2016-11-24
?
望远

TA贡献1017条经验 获得超1032个赞

for(j=0;j<=5-i;j++)这个才是等价的代码。
查看完整回答
反对 回复 2016-11-24
  • 我是北樱
    我是北樱
    可是第一行只有3个空格啊
  • 望远
    望远
    原程序是输出四行,每一行的空格依次是5.4.3.2
  • 望远
    望远
    而且你写的是j=4-i这是赋值,以0为假。
点击展开后面1
  • 4 回答
  • 0 关注
  • 1887 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信