如果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
百度百科-优先