c#中int a=0;a+=(a=8) 的结果为什么是8?
答案:1 悬赏:30 手机版
解决时间 2021-04-29 07:07
- 提问者网友:且恨且铭记
- 2021-04-28 18:29
c#中int a=0;a+=(a=8) 的结果为什么是8?
最佳答案
- 五星知识达人网友:撞了怀
- 2021-04-28 19:16
a=a+(a=8)
加号两边,先算左边,再算右边。
下面这句话执行后,a=2,b=3(类似于b=1+2)
int a=0;
int b = (a = 1) + (a = 2); 下面这句话,执行后a=2,b=4(类似于b=2+2)
int a=0;
int b = (a = 2) + a;追问这条语句不应该是括号的优先级最高而应该算括号内的算式吗?追答a=(a)+(a=8)
加号两边,先左后右追问不好意思啊,还是不太明白,括号比+=的算数优先级高,应该先算括号,再算+=,出于这个的理解,对于你第二次的回答就不明白了,是不是我对于这两个算数优先级的理解还不够深追答a+=b就是a=a+b,这样能理解吗?
如果硬要使用+=去理解,a+=b就是在a的基础上加上b的值。这里b就是a=8,其值就是8,此时a=8赋值不会影响到(a的基础),a的基础是先确定的(先执行的)。追问明白了,谢谢你!
加号两边,先算左边,再算右边。
下面这句话执行后,a=2,b=3(类似于b=1+2)
int a=0;
int b = (a = 1) + (a = 2); 下面这句话,执行后a=2,b=4(类似于b=2+2)
int a=0;
int b = (a = 2) + a;追问这条语句不应该是括号的优先级最高而应该算括号内的算式吗?追答a=(a)+(a=8)
加号两边,先左后右追问不好意思啊,还是不太明白,括号比+=的算数优先级高,应该先算括号,再算+=,出于这个的理解,对于你第二次的回答就不明白了,是不是我对于这两个算数优先级的理解还不够深追答a+=b就是a=a+b,这样能理解吗?
如果硬要使用+=去理解,a+=b就是在a的基础上加上b的值。这里b就是a=8,其值就是8,此时a=8赋值不会影响到(a的基础),a的基础是先确定的(先执行的)。追问明白了,谢谢你!
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯