java中,(a++)*(++a)和 (++a)*(a++) 15
2个回答
展开全部
不会得15。会得12。
a=3; (a++)*(++a)= 12; 因为 表达式里 a++ 用 a, ++a 用 a+1. 分步运算:
(1)a=3; (2) (a++) = a = 3; (3) (++a)=a+1=4; (4) 3*4 = 12, 得12;
(5)a=a+1=4+1=5 供后续语句使用。
---------
a=3; (++a)*(a++)=16; 因为 表达式里 a++ 用 a, ++a 用 a+1. 分步运算:
(1)a=3; (2) (++a)=a+1=4; (3) (a++) = a = 4; (4) 4*4 = 16, 得16;
(5)a=a+1=4+1=5 供后续语句使用。
a=3; (a++)*(++a)= 12; 因为 表达式里 a++ 用 a, ++a 用 a+1. 分步运算:
(1)a=3; (2) (a++) = a = 3; (3) (++a)=a+1=4; (4) 3*4 = 12, 得12;
(5)a=a+1=4+1=5 供后续语句使用。
---------
a=3; (++a)*(a++)=16; 因为 表达式里 a++ 用 a, ++a 用 a+1. 分步运算:
(1)a=3; (2) (++a)=a+1=4; (3) (a++) = a = 4; (4) 4*4 = 16, 得16;
(5)a=a+1=4+1=5 供后续语句使用。
追问
确实是15
int e1=3,e2=3,x,y;
x=(e1++)*(++e1);
y=(++e2)*(e2++);
System.out.println(""+"e1="+e1+"\t"+"x="+x+'\n'+"e2="+e2+'\t'+"y="+y);
*******************
e1=5 x=15
e2=5 y=16
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询