首页 > 用户发贴区 > 编程问题提问区 > 新手请教一个问题
2009
05-03

for(int i=1;i<=3;++i)
  for(int a=1;a<=3;++a)
   sum*=2;


 


上面那个循环请问是怎么个循环过程,各位能不能帮我解释解释啊


新手请教一个问题》有 4 条评论

  1. jiakun260 说:

    应该是先判断第一个循环条件,然后把第二个循环进行一次完整的循环,知道条件不满足,在判断第一个循环条件,知道两个条件都不满足,推出循环,我说的可能不是很明白,网上有很多教程,看看就知道了,我是自学的,所以回答的也很业余

  2. G 说:

    就想两个循环一起来,有点像二维数组的笛卡尔积那样的形式的!列出来会清楚点的

     

  3. 上官A琪 说:

    能拜师吗? 没有师傅的指导看不懂!!!!!

     

     

     

     

  4. yy_uestc 说:

     

    for(int i=1;i<=3;++i)

    这个还真扯,开始第一次循环i=1还是2呢?

    =========

    刚看了下原来和for(int i=1;i<=3;i++)一样。看起来真别扭阿!!!

    main()

    {int sum=1;

    for(int i=1;i<=3;++i)

    for(int a=1;a<=3;++a)

    {printf(“i=%d,a=%d\n”,i,a);

    sum*=2;}

    printf(“sum=%d\n”,sum);

    }

    运行结果:

    i=1,a=1

    i=1,a=2

    i=1,a=3

    i=2,a=1

    i=2,a=2

    i=2,a=3

    i=3,a=1

    i=3,a=2

    i=3,a=3

    sum=512

    =========

    共循环了9次,sum=2*2*2*2*2*2*2*2*2=512

    执行顺序是先取i=1,判别是否满足第一重循环,满足则进入第二重循环,取a(1,2,3)值并判别是否满足,满足则执行一次Sum*=2,到a不满足循环条件则跳出循环,返回第一重循环取i=2判别是否满足第一重循环,满足又进入第二重循环……如此反复,直到i不满足第一重循环,则整个循环结束!

留下一个回复