int a = 0,c = 0;
do{
--c;
a--;
}while(a > 0);
System.out.println(c);
问:C是多少?? 请各路高手讲明白点.

解决方案 »

  1.   


    int a = 0,c = 0;
    do{
    --c;//c=-1;
    a--;//a=-1;
    }while(a > 0);//不成立,不在持行do
    System.out.println(c);//直接打印C  -1
      

  2.   


    //初始化变量a和c,初始值都是0
    int a = 0, c = 0;
    //do...while循环是先循环一次,然后判断条件是否成立,所以最低进去一次
    do{
    //--c是先把c-1然后赋给c,也就是c=c-1;c=0-1;c=-1;
      --c;
    //a--是运算完a然后再-1,这时候其实a也是-1了
      a--;
    //这时候的a是-1,所以这个条件不成立,不会再次循环,直接退出循环
    }while(a > 0);
    //打印结果应该是-1才对。
    System.out.println(c);
    //以上是个人理解,还需楼主亲自试验,嘿嘿!
      

  3.   

    -1 do 会先执行一遍里面的 在去判断while的条件是否成立
      

  4.   

    int a=0,c=0;给a,c赋初值为0
    do
    {
        --c;//--c:表示c=-1;
        a--;//a=-1;
    }while(a>0);//a>0,继续执行,但这里a=-1,所以循环结束
    System.out.println(c);
    所以c=-1。建议将--c和c--搞搞清楚!