作业帮 > 综合 > 作业

a和b交换的算法疑问?

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/18 08:33:39
a和b交换的算法疑问?
为什么要交换a和b的值要使用中间变量temp,temp=a; a=b; b=temp; 而不直接使用 a=b; b=a; 从内存分配角度讲,为什么不能这样?在第一种中,已经被赋值的a难道只有赋值给其他变量之后才能被赋值吗?如果是的话,b的已知值没有被赋值就直接把temp赋给它那,这个又作何解释呢?
不是已经被赋值的a只有赋值给其他变量之后才能被赋值.是因为一个变量系统分配的是一个地址,而一个地址存放一个数据.就如现在有小明和小白,他们都各自有一件衣服,那如果小白直接把自己的衣服复制一件给了小明,那小明同一时间只可以穿一件,那他就要把原来的衣服脱了.而这脱出来的没有地方存放,系统就会直接覆盖(也就是扔掉)了那他们两个都只有同一个款式的衣服了.所一要一个TEMP来存放这件衣服...明白?