若有定义:int a=6; 则语句 a*=a-=a/=3; 运行后,a的值是
答案:2 悬赏:80 手机版
解决时间 2021-03-20 14:24
- 提问者网友:嗝是迷路的屁
- 2021-03-19 22:57
若有定义:int a=6; 则语句 a*=a-=a/=3; 运行后,a的值是
最佳答案
- 五星知识达人网友:我住北渡口
- 2021-03-20 00:31
这两题没有什么不同的
a*=a-=a/=3
a/=3 -> a = 2 此时,a有了新的值
a-=a -> a= 0
a*=a -> a = 0
a+=a-=a*a
a-=a*a -> a = a - (a*a) -> a=-6
a+=a -> a = -12追问a-=a*a为什么不是a-=9-9=0???追答因为a-=a*a中a*a的结果并没有赋给a,而是直接参与了下一步的运算,所以此时的a还是3追问那前者为什么a/=3的结果有赋给a???追答因为a/=3只存在一步计算原式是(1) a = a - 3;
而a-=a*a的原式是(2) a = a - (a*a);
2式计算右边时a 的值都是一样的
如果明白了,能给个满意不
a*=a-=a/=3
a/=3 -> a = 2 此时,a有了新的值
a-=a -> a= 0
a*=a -> a = 0
a+=a-=a*a
a-=a*a -> a = a - (a*a) -> a=-6
a+=a -> a = -12追问a-=a*a为什么不是a-=9-9=0???追答因为a-=a*a中a*a的结果并没有赋给a,而是直接参与了下一步的运算,所以此时的a还是3追问那前者为什么a/=3的结果有赋给a???追答因为a/=3只存在一步计算原式是(1) a = a - 3;
而a-=a*a的原式是(2) a = a - (a*a);
2式计算右边时a 的值都是一样的
如果明白了,能给个满意不
全部回答
- 1楼网友:山君与见山
- 2021-03-20 01:37
0和-12
顺序为从右往左计算追问前者a=a/3=6/2=3这个是为什么啊???
后者a-=a*a即a-=9=3-9=-6为什么a要从int a=3来算???追答只给你解释前者,a/=3后是2,a也是2,然后a-=2当然是0追问a-=a*a为什么不是a-=9-9=0???
顺序为从右往左计算追问前者a=a/3=6/2=3这个是为什么啊???
后者a-=a*a即a-=9=3-9=-6为什么a要从int a=3来算???追答只给你解释前者,a/=3后是2,a也是2,然后a-=2当然是0追问a-=a*a为什么不是a-=9-9=0???
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯