有关于数组赋值的问题

两个数组a[]和b[],如果a[i]=b[j],i++,j++,循环的话,是把数组b中的每个元素都加到数组a中吗?如果是,那怎么把数组a替换为数组b呢?

7个回答

a[i]=b[j],i++,j++,循环 不是添加,就是覆盖(替换)进去了,也就是你后半句说的。

先把数组A存储起来 然后再存放到数组B不就行了吗

是,赋值语句把等式右边赋给左边,把a和b位置对调就可以把a的值赋给b

Amo_lt
Amo_lt 回复bolotoyo: 数组赋值不是把右边的加到左边,除非写+=,不然原来的都会被等号右边的值覆盖。
大约 2 年之前 回复
qq_41233955
bolotoyo 数组赋值就是把等于号右边的内容加到左边,而普通变量的赋值是把等号左边边的值替换为右边的值吗?(如 int a=1; a=2,输出a的值是2,而不是12)
大约 2 年之前 回复

这个复制范围取决于i,j的初始值和循环结束条件。

1、首先呢,a[]的length是不是和b[]的length一样长,如果不是,那没法完全替换;
2、假设a.length == b.length ,那么a[i] = b[j] 是数组替换(int型)
3、假设不知道a与b的长度是否一致,可以这么写:
void replectArray(int[] a,int[] b){
if(a.length < b.length){
return false
}else{
for(int i=0;i<a.length;i++){
a[i] = b[i];
}
}
}
ps:这是java写法

讲道理,替换不知道有什么用。我只有数组合并相加的时候,参数使用的时候需要哪个就传值哪个,替换是要干什么。

你这个只是数组的覆盖,相当于你的赋值而已。如果你想进行替换你需要创建一个新的数组进行存储转移

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问