如果a是int数据,值为3,那么执行表达式a+=a-=a*a后,a的值是多少?请通过程序验证。

a=-12 .

按照从左到右的组合和优先级顺序,先计算a-=a*a,最后a的结果是a=a-a*a,a = 3-3 * 3 =-6;

然后计算a+=-6,因为此时A的值已经变成了-6,所以计算过程是a=a+(-6)=-6-6=-12。

或者:

a+= a-= a * a;

复合赋值表达式从右向左运行,可分为:

a-= a * a;

a+= a;

a的原始值是3。

a-= a * a;

胜任

a = a-a * a = 3-3 * 3 =-6;

再放映

a+= a;

自然就变成了-12

扩展数据:

任务的优先级、相对截止期和空闲时间之间的层次关系可以用线性关系来描述。举个例子,

di+ksj=g

其中k是线性关系的斜率,g可视为优先级别。对于确定的斜率k,G越小,优先级越高。例如,对于G1

百度百科-优先