c语言怎么交换数组中两个数,C语言两个数组相加
如何交换两个数组中的元素?众所周知,数组中元素的数量是相同的。
我们知道,如果我们想交换两个变量,我们可以定义一个新的变量,如下面的代码所示。
int a=0;
int b=0;
int c=0;
c=a;
a=b;
b=c;代码没写全,大概意思写出来了。变量ab就是这样通过第三个变量c交换的。
如果我们以同样的方式将此方法应用于数组,如下面的代码,会有效吗?
int arr1[]={1,2,3,4,5 };
int arr2[]={6,7,8,9,0 };
int arr 3[6]={ };
arr3=arr1
arr1=arr2
arr2=arr3这可行吗?
答案是绝对不可能。
原因是:比如arr1数组名只是一个地址,表示数组中第一个元素的地址,比如这里的int arr1[]={1,2,3,4,5 };Arr1表示第一个元素1的地址。
所以我们只能修改相同下标的元素。
正确的完整代码如下
# define _ CRT _ SECURE _ NO _ WARNINGS 1
#包含stdio.h
int main()
{
int arr1[]={1,2,3,4,5 };
int arr2[]={6,7,8,9,0 };
int SZ=sizeof(arr 1)/sizeof(arr 1[0]);
int I=0;
int tmp=0;
for(I=0;我我)
{
tmp=arr 1[I];
arr 1[I]=arr 2[I];
arr 2[I]=tmp;
}
for(I=0;我我)
{
printf(%d ,arr 1[I]);
}
printf( \ n );
for(I=0;我我)
{
printf(%d ,arr 2[I]);
}
printf( \ n );
返回0;
}结果如下
可见实现了数组交换的功能。
如果代码执行的过程和逻辑一样,那么代码就是正确的。
加油!
原创作品来自努力学习,想成为大腕的博主,
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。