星梦凉辰
2021-06-12 08:48
采纳率: 78.6%
浏览 11

各位大神,请教一下下面问题

为什么第一个每次循环都打印换行,而第二个在一个循环结束后才打印一次换行,它们都是被大括号括起来的呀

(1)  for(i=1;i<=2;i++)
for(j=0;j<4;j++)
 {printf("%d",j+i);
printf("\n");
     }
(2) for(i=1;i<=2;i++)
{for(j=0;j<4;j++)
  printf("%d",j+i);
printf("\n");
}

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • 盼小辉丶 2021-06-12 09:27
    已采纳

    大括号的作用就是把括起来的语句看成是一个整体,你可以把它当成一条语句。

    如果if else while for这些判断或循环语句后面的执行语句只有一条,就可以省略大括号,因此这两段代码等价于:

    (1)  for(i=1;i<=2;i++){
    for(j=0;j<4;j++)
    {printf("%d",j+i);
    printf("\n");
    }

    }
    (2) for(i=1;i<=2;i++)
    {for(j=0;j<4;j++){
      printf("%d",j+i);

    }
    printf("\n");
    }

    点赞 评论
  • 蒟蒻pzjdsg666 2021-06-12 09:00

    这就设计到一个循环嵌套的问题:

    第一个它括的是内部的循环,所以它的内部循环循环一次就换行一次;

    而第二个括的是整个大循环,所以它的循环执行完了才会换行!

    谢谢大家!

    点赞 评论

相关推荐 更多相似问题