为了账号安全,请及时绑定邮箱和手机立即绑定

关于数组中的问题

关于数组中的问题

qq_我输过但从未怕过_0 2015-12-13 21:05:02
在数组中的排序中换位为。int temp=num[i];num[i]=num[i+1];num[i+1]=temp; 为什么这里不能写num[i+1]=num[i];
查看完整描述

3 回答

已采纳
?
子木李

TA贡献46条经验 获得超27个赞

楼主需要实现的是数组中交换值吧,在num[i]=num[i+1]的时候,次数num[i]的值已经被num[i+1]替换了,也就是说它原来的值不在了,如果后面再写num[i+1]=num[i]时,其实num[i+1]的值没有变化,因为你前面把num[i]的值赋成了i+1的值,所以为了保留num[i]的值,引入一个临时变量temp,用来保存num[i]的值

查看完整回答
反对 回复 2015-12-13
?
Caballarii

TA贡献1123条经验 获得超629个赞

这么说吧,两个小朋友坐着两张凳子,他们要交换位置,但不可以站着等,并且一次只能一个小朋友移动。

那么总不能小朋友A不能直接坐到小朋友B身上吧,这样的话小朋友B就出不来了。

所以正确的方法是搬来第三张凳子,小朋友A去坐第三张,小朋友B坐到小朋友A原来的位置上,小朋友A再从第三张凳子坐到小朋友B原来的位置上。

这里也是一样的道理。

查看完整回答
反对 回复 2015-12-14
?
慕男婶

TA贡献98条经验 获得超73个赞

因为 = 左边是要赋的值,= 右边是接收的值。

在数学中,

a = b 

就等于

b = a

但是在编程中,

num[i+1]=num[i]; // 把num[i]的值赋予num[i+1]

反过来的话,赋值顺序就反了

num[i]=num[i+1]; // 把num[i+1]的值赋予num[i]

查看完整回答
反对 回复 2015-12-13
  • 3 回答
  • 0 关注
  • 1642 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信