💡例题:将数组A中的内容和数组B中的内容进行交换。(数组一样大)
简单代码
如果把两个数组交换的代码写在主函数内部。
主要代码:
for(i=0; i<10; i++)
{
int temp = a[i];
a[i] = b[i];
b[i] = temp;
}
整个代码:
#include<stdio.h>
int main()
{
int a[10];
int b[10];
int i=0;
printf("输入a[]中的10个数");
for (i = 0; i < 10; i++)
{
scanf("%d",& a[i]);
}
printf("输入b[]中的10个数");
for (i = 0; i < 10; i++)
{
scanf("%d",& b[i]);
}
for(i=0; i<10; i++)
{
int temp = a[i];
a[i] = b[i];
b[i] = temp;
}
printf("输出交换后的:\n");
printf("a[]:");
for (i = 0; i < 10; i++)
{
printf("%d ", a[i]);
}
printf("\nb[]:");
for (i = 0; i < 10; i++)
{
printf("%d ", b[i]);
}
return 0;
}
这个很简单,就不多说😘。
写函数交换
如果想要用外部函数调用(重点想要了解一下调用外部函数怎么写,以及数组传参怎么传)
则如下:
主要代码:
void Swap(int pa[], int pb[], int n)
{
int i;
for (i = 0; i < n; i++)
{
int temp = pa[i];
pa[i] = pb[i];
pb[i] = temp;
}
}
整个代码:
#include<stdio.h>
void Swap(int pa[], int pb[], int n);//函数声明
int main()
{
int a[10];
int b[10];
int i=0;
printf("输入a[]中的10个数");
for (i = 0; i < 10; i++)
{
scanf("%d",& a[i]);
}
printf("输入b[]中的10个数");
for (i = 0; i < 10; i++)
{
scanf("%d",& b[i]);
}
Swap(a, b,10);//函数调用
printf("输出交换后的:\n");
printf("a[]:");
for (i = 0; i < 10; i++)
{
printf("%d ", a[i]);
}
printf("\nb[]:");
for (i = 0; i < 10; i++)
{
printf("%d ", b[i]);
}
return 0;
}
//将数组A中的内容和数组B中的内容进行交换。(数组一样大)
void Swap(int pa[], int pb[], int n)
{
int i;
for (i = 0; i < n; i++)
{
int temp = pa[i];
pa[i] = pb[i];
pb[i] = temp;
}
}
另外说明
1.函数调用这行代码Swap(a, b,10);//函数调用
a和b前面不需要加取地址符&,因为数组名(也就是a和b)本身就代表地址。
2.
void Swap(int pa[], int pb[], int n)
这行代码,包括前面的函数声明,其实还可以写成
void Swap(int* pa, int* pb, int n)
的形式,
因为*和[ ]的作用是一样的。
以上就是我总结的内容。
如果对你有帮助,记得点赞👍+关注哦!
我的主页还有其他文章,欢迎学习指点。
关注我,让我们一起学习,一起成长吧!