#include <stdio.h>
#include <stdlib.h>
int main()
{
int num1[] = { 1, 2, 3, 4 };
int num2[] = { 4, 5, 6, 7 };
int tmp;
int i = 0;
//交换数组
for (i = 0; i < sizeof(num1) / sizeof(num1[0]); i++) //sizeof(num1) / sizeof(num1[0])求数组元素个数
{
tmp = num1[i];
num1[i] = num2[i];
num2[i] = tmp;
}
//打印数组1
for (i = 0; i < sizeof(num1) / sizeof(num1[0]); i++)
{
printf("%d ", num1[i]);
}
printf("\n");
//打印数组2
for (i = 0; i < sizeof(num1) / sizeof(num1[0]); i++)
{
printf("%d ", num2[i]);
}
printf("\n");
system("pause");
return 0;
}
优化1.使用调用函数
#include <stdio.h>
#include <stdlib.h>
void swap(int num1[], int num2[], int length)
{
int i = 0;
for (i = 0; i < length; i++)
{
int tmp = num1[i];
num1[i] = num2[i];
num2[i] = tmp;
}
}
int main()
{
int num1[] = { 1, 2, 3, 4 };
int num2[] = { 4, 5, 6, 7 };
int i = 0;
swap(num1, num2, sizeof(num1) / sizeof(num1[0])); //swap()交换函数,实现两个变量数值的交换。
for (i = 0; i < sizeof(num1) / sizeof(num1[0]); i++)
{
printf("%d ", num1[i]);
}
printf("\n");
for (i = 0; i < sizeof(num1) / sizeof(num1[0]); i++)
{
printf("%d ", num2[i]);
}
printf("\n");
system("pause");
return 0;
}
优化2.当数组元素不确定时,使用函数
#include <stdio.h>
#include <stdlib.h>
void swap(int num1[], int num2[], int length)
{
int i = 0;
for (i = 0; i < length; i++)
{
int tmp = num1[i];
num1[i] = num2[i];
num2[i] = tmp;
}
}
int main()
{
int num1[5];
int num2[5];
int i = 0;
printf("请输入数组num1[]:");
for (i = 0; i < sizeof(num1) / sizeof(num1[0]);i++)
{
scanf("%d", &num1[i]);
}
printf("请输入数组num2[]:");
for (i = 0; i < sizeof(num2) / sizeof(num2[0]);i++)
{
scanf("%d", &num2[i]);
}
swap(num1, num2, sizeof(num1) / sizeof(num1[0]));
for (i = 0; i < sizeof(num1) / sizeof(num1[0]); i++)
{
printf("%d ", num1[i]);
}
printf("\n");
for (i = 0; i < sizeof(num1) / sizeof(num1[0]); i++)
{
printf("%d ", num2[i]);
}
printf("\n");
system("pause");
return 0;
}