int a=10;
int b=0;
int c=a+++b+a++;
System.out.pritnln(c);
请问结果是多少?

解决方案 »

  1.   

    不能通过编译, 但是改成
    System.out.println(c);后
    答案是 21这个主要是考验对++符号的理解了。
    int b = (a++) + 3*a 可以分开来看成int c = a++; int b = c + 3*a;因为++运算是先取值后自加,那么 c的值就是2,而a的值变成了3。那么b = 2 + 3 * 3 = 11 了。
      

  2.   

    int c=(a++)+b+(a++); 
    运行过程就是这样的  应该是的 因为++ 比+ 的优先级要高 大概是21吧  学程序 
    我感觉学程序不应该在这些方面花功夫  Java 已经帮我们屏蔽了细节  就不要在去探究他们了
    除非 我们写系统级程序
      

  3.   

    c=a+++b+a++; 
    c=(a++)+b+(a++);
    第一个a++取 的是10,第二个a++是11
    所以10+0+11=21
      

  4.   

    System.out.pritnln(c);
    楼主的这名话是有问题的!System.out.println(c);int a=10;
    int b=0;
    int c=a+++b+a++;   //这名话要进行拆开来看是  int c = a++ + b +  a++; //int c  = a++ + b + a++; 
    //    21 = 10 +  0 + 11;   
    //执行完这行代码后a = 12; b = 0;
      

  5.   

    21  前面的a=10  后面的a因前面的a++=11 
      

  6.   

    public class Abc
    {
    public static void main(String[] agrs)
    {
    int a=10; //定义变量a 
    int b=0;  //定义变量b 
    int c=a+++b+a++;  //不知道到底是(a++)+b+(a++)还是a+(++b)+(a++)
    System.out.pritln(c);  //输出结果为21
    }
    }