赋值运算符里藏着的强转

猿兄请看下面的代码:

short s=1;

s = s + 1;

short s = 1;
s+ = 1;


也许有的猿兄会觉得木得问题,两个小儿科;
也许有的猿兄觉得俩都会报错,因为损失精度的情况下需要强转;

其实第一个确实没有什么门道,会因为为强转而报错(想温习强转细节的猿兄看这里)
但是看似等价的第二段代码是可以通过编译正常运行的~

因为扩展的赋值运算符隐含了强制类型转换

即 s+ = 1;等价于s = (s对应的数据类型)(s+1);

以下内容为可耻的自我推销,完全可忽略(。•́ωก̀。).。

此处厚脸皮的安利小透明公众号 林夏夏

夏夏大大的英雄梦,
就是能和最喜欢的你,
分享一道算法题,
温习一个编程上易忽视小细节,
品一份书香氤氲,
于你道晚安ヾ(◍°∇°◍)ノ゙

猜你喜欢

转载自blog.csdn.net/Moliay/article/details/84862701