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;
21 前面的a=10 后面的a因前面的a++=11
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 } }
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 了。
运行过程就是这样的 应该是的 因为++ 比+ 的优先级要高 大概是21吧 学程序
我感觉学程序不应该在这些方面花功夫 Java 已经帮我们屏蔽了细节 就不要在去探究他们了
除非 我们写系统级程序
c=(a++)+b+(a++);
第一个a++取 的是10,第二个a++是11
所以10+0+11=21
楼主的这名话是有问题的!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;
{
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
}
}