认真生活下去 2021-11-08 11:33 采纳率: 40%
浏览 50
已结题

C语言 for循环没看懂怎么运行

请问这是怎么运行的?
看不懂怎么得到这样的结果

img

  • 写回答

3条回答 默认 最新

  • 一枚小爪哇 2021-11-08 12:02
    关注
    
    clude <stdio.h>
    #include<math.h>
    
    int main()
    {
        int i, j, k;
        printf("i j k\n"); // 控制台打印出i j k 后换行
        for(i = 0; i<2; i++)
            for(j = 0; j<2; j++)
                for(k = 0; k<2; k++)
                   printf("%d %d %d\n",i,j,k); // 控制台打印出i j k的值后换行
        return 0;
        /**
         * 第一次循环,执行第一个for i=0,第二个for j=0,第三个for k=0,执行printf,输出第一行0 0 0
         * k++后,此时i=0,j=0,k=1,然后第三个for做循环判断k<2;输出第二行 0 0 1
         * 第三个for再次循环,此时i=0,j=0,k=2,判断k<2,不成立,则跳到第二个for做循环
         * 此时i=0,j=1,执行第三个for循环,k=0,输出第三行 0 1 0 
         * 继续执行第三个for循环,i=0,j=1,k=1输出第四行 0 1 1 
         * 继续执行第三个for循环,i=0,j=1,k=2,k<2不成立,
         * 跳到第二个for循环,j=2,j<2不成立 ,
         * 跳到第一个for循环,此时i=1,i<2成立,执行第二个for循环,j=0,执行第三个for循环
         * k=0,输出第五行 1 0 0 ,
         * 继续执行第三个for循环,此时i=1,j=0,k=1,k<2成立输出第六行 1 0 1
         * 继续执行第三个for循环,此时i=1,j=0,k=2,k<2不成立,
         * 跳到第二个for循环,此时i=1,j=1,k=0,j<2成立
         * 继续执行第三个for循环,此时i=1,j=1,k=0,k<2成立输出第七行 1 1 0 
         * 继续执行第三个for循环,此时i=1,j=1,k=1,k<2成立输出第八行 1 1 1 
         * 继续执行第三个for循环,此时i=1,j=1,k=2,k<2不成立
         * 跳到第二个for循环,此时i=1,j=2,j<2不成立
         * 跳到第一个for循环,此时i=2,i<2不成立
         * 退出第一个for循环,程序执行结束
         * 
         * /
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 11月16日
  • 已采纳回答 11月8日
  • 创建了问题 11月8日

悬赏问题

  • ¥15 请问为什么我配置IPsec后PC1 ping不通 PC2,抓包出来数据包也并没有被加密
  • ¥200 求博主教我搞定neo4j简易问答系统,有偿
  • ¥15 nginx的使用与作用
  • ¥100 关于#VijeoCitect#的问题,如何解决?(标签-ar|关键词-数据类型)
  • ¥15 一个矿井排水监控系统的plc梯形图,求各程序段都是什么意思
  • ¥50 安卓10如何在没有root权限的情况下设置开机自动启动指定app?
  • ¥15 ats2837 spi2从机的代码
  • ¥200 wsl2 vllm qwen1.5部署问题
  • ¥100 有偿求数字经济对经贸的影响机制的一个数学模型,弄不出来已经快要碎掉了
  • ¥15 数学建模数学建模需要