我如何交换两个数组的内部?
例如:
a [] = {1,2,3,4}
b [] = {5,6,7,8,9}
a'[]= {5,6,7,8,9}
b'[] = {1,2,3,4}
当然,这些数组需要一个int
和bla bla bla,但有没有一个公式可以切换这两个数组?
int main(){
int a [6] = {1,2,3,4,5};
int b [6] = {6,7,8,9,10,11};
int x[7] = {0,0,0,0,0,0,0} ;
int i = 0;
int j = 0;
int v = 0;
printf("Array A : ");
while(i<=4){
printf("%d ",a[i] );
i++;
}
printf("\nArray B:");
while (j<=5){ // ofc its not working and was just a thought but ...
printf("%d ", b[j]);
j++;
}
int k = 0;
while (v <= 6){
a[k] = x[k];
b[k] = a[k];
x[k] = b[k];
v++;
k++;
}
printf("\nNeues Array A : ");
int z = 0;
int l = 0;
while(z<=4){
printf("%d ",a[i] );
z++;
}
printf("\nNeues Array B:");
while (l<=5){
printf("%d ", b[j]);
l++;
}
return 0;
}
2条答案
按热度按时间1yjd4xko1#
在C中交换数组的合理方法通常是 * 不 * 交换实际的数组。
相反,请执行以下操作:
然后交换指针:
使用指针的优点是灵活性和性能。我已经记不清自己审阅了多少次实时关键代码,比如一个嵌入式系统中断服务例程,它会填满一些缓冲区。然后,程序员不再只是交换指针,而是暂停整个程序,对缓冲区进行不必要的缓慢硬拷贝。不要复制数据,除非你真的需要。
hl0ma9xz2#
如果内存不是问题,最简单的方法是:
确保所有3个数组的大小相同。