请解释第八小题

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/08 03:24:52

请解释第八小题
请解释第八小题

请解释第八小题
不妨这样来考虑:
已知数据变量 a b
在程序当中,定义变量也就是划定一片存储区,然后取个名字罢了!
那不妨用☆和◇表示计算机的存储区,☆和◇里面都是用来放数据的.
定义变量a,为其分配 ☆ 作为存储区,此时不妨理解成☆就是a的保险箱!
定义变量b,为其分配 ◇ 作为存储区,此时不妨理解成◇就是b的保险箱!
接下来派上大用场的是: 小学生数豆子 做加减算术的思想!(保险箱里的是豆子哟(*^__^*) 嘻嘻……)
那么在程序中出现的:
a=a+b; 就是数出与 ☆ 中数量相同的豆子,再数出与 ◇ 中相同数量的豆子,把这些豆子重新装到 ☆ 中.
b=a-b; 就是数出与 ☆ 中数量相同的豆子,从中减掉与 ◇ 中相同数量的豆子,把剩下的豆子重新装到 ◇ 中.
注:(重新装:是把里面的东西清空再装进去!)
问:此时☆中的豆子是多少?◇中的豆子是多少?
那到最后一步了,因为此时 ☆ 中数量是a和b的豆子总和,◇中豆子的数量跟 a 有的豆子数相同.
这下不就好办了?那么☆中的数量减掉◇中的数量是不是就跟b有的豆子数相同?
那我们把这些豆子重新装到 ☆ 中.表达式也就是:a=a-b.
这下来屡一下试试:
☆中的豆子是不是跟b有的豆子数一样多?但是☆是a的保险箱!
◇中的豆子是不是跟a有的豆子数一样多?但是◇是b的保险箱!
这是不是把a和b有的豆子数不多不少的交换了?
同时补充一点,编译器做a=a+b的时候是拷贝出a和b的值进行加法运算后在把这个值放到变量a 中,这跟数豆子是不是超级像?
这下应该不至于还不明白吧!?