请问 a = b + (b = a) * 0;是怎么执行的? 请看精华区的帖子:a=b+(b=a)*0是如何编译PS:居然精华区的帖子还是个无满意答案的。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 a = b + (b = a) * 0; a等于b,然后加上0,中间赋值b等于a,好像是这样 相当于执行了两个交换过程:a=b, b=a编译器也应该是从左到右运算的好像有一个运算栈来负责存储中间运算过程 同时再问问:(1)short s1 = 1; s1 = s1 + 1;(2)short s1 = 1; s1 += 1;上边(1)有错我知道,但为什么(2)没错呢? 估计是+=的原因,这东西连string都支持,应该是自动转换了类型吧 终于知道了,原来为自己能想出一个答案而高兴呢。现在没了,我当初的答案是。int a = 10; int b = 12; a= a + b;b = a - b;a= a - b; 这个问题经常碰到s1=s1+1出错时因为右边已经是int型,不能隐式转换成shorts1+=1正确是因为short型重载了+=运算符 要了解符号运算的优先级。1、计算(b=a),得b=102、计算(b=a)*0,得 03、计算b + (b = a) * 0,得124、计算a=b + (b = a) * 0,得10 C# 网盘映射问题(分不多了,就100) caspol.exe在windows2003上不起作用!! 新人提问 关于bool类型方法返回值问题 在线等 用c#吧获取的图片存储到数据库并且能读出来 如何实现,语法怎么写 如何在后调可以调用前台div层 C# 结构体 byte[]数组转换 能否用代码执行一个Button的OnClick动作???? 讨论一下,MSN是不是用的P2P技术,如果是的话,大家看看有什么方法解决两局域网间通过Internet通信 asp.net文件上传一般怎么实现 转贴:由C#风潮想起的-给初学编程者的忠告 帮忙解释一下下面题目的意思 C#中如何使一个线程暂停???
a等于b,然后加上0,中间赋值b等于a,好像是这样
编译器也应该是从左到右运算的好像有一个运算栈来负责存储中间运算过程
(1)short s1 = 1; s1 = s1 + 1;
(2)short s1 = 1; s1 += 1;
上边(1)有错我知道,但为什么(2)没错呢?
int a = 10;
int b = 12;
a= a + b;b = a - b;a= a - b;
这个问题经常碰到
s1=s1+1出错时因为右边已经是int型,不能隐式转换成short
s1+=1正确是因为short型重载了+=运算符
1、计算(b=a),得b=10
2、计算(b=a)*0,得 0
3、计算b + (b = a) * 0,得12
4、计算a=b + (b = a) * 0,得10