【C语言】交换两个数组内容(数组一样大)

原创 2016年05月30日 17:12:04

说明:

(1)使用中间变量tmp,实现交换

(2)注意交换函数实现时可传值(在main函数里面),引用,传指针的实现,具体可以参见我的博客:http://10740184.blog.51cto.com/10730184/1697629



#include<stdio.h>
#include<stdlib.h>

void swap(int* p1, int* p2)
{
    int tmp = *p1;
    *p1 = *p2;
    *p2 = tmp;
}

void swaparray()
{
    int arr1[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
    int arr2[10] = { 13, 21, 34, 44, 54, 66, 72, 80, 91, 100 };
    int len = sizeof(arr1) /sizeof(arr1[0]);//动态
    int i = 0;
    
    for (; i < len; i++)
    {
        swap(&arr1[i], &arr2[i]);
    }
    
    for (i = 0; i < len; i++)
    {
        printf("%d    ", arr1[i]);
    }
    
    printf("\n");
    
    for (i = 0; i < len; i++)
    {
        printf("%d    ", arr2[i]);
    }
}


int main()
{
    swaparray();
    system("pause");
    return 0;
}

 

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

c语言:将数组A中的内容和数组B中的内容进行交换。(数组一样大)

将数组A中的内容和数组B中的内容进行交换。(数组一样大)方法一:#includevoid swap(int arr1[], int arr2[], int leng){int i = 0;for (i...

数据结构与算法——在一个数组中实现两个堆栈(C语言)

要求在一个数组中实现两个堆栈。函数接口定义:Stack CreateStack( int MaxSize ); bool Push( Stack S, ElementType X, int Tag ...

C语言中,为什么指针表达式的值+1.对应的地址值却+4?/为什么两个数组元素的地址相减之差不为地址之差?

在C语言中,我们常常用到的一个运算是让某个变量的值+1. 例如 M = M + 1。 而在实际运用中,我们发现 对于指针进行+1运算,算出来的结果是+4。 如下图 图中我们定义的 变...

【C语言】比较两个数组中是否有相同的元素

比较两个数组中是否有相同的元素

C语言:求一个数组中只出现一次的两个数

环 境: Windows 8,Visual Studio 2013 语 言: C语言 实验要求: 给定一个偶数个数的数组,其中有两个数只出现了一次,请通过C语言代码,让计算...

matlab写数据到txt文件,C语言读取文件内容到数组@项目简介:基于PSS序列(频域)估计整数倍频偏

一、编程思想: 1.以文本方式打开文件。 2.循环用fscanf格式化输入数据到数组。 3.判断fscanf的返回值,如果显示到达文件结尾,退出输入。 4.关闭文件。 5.使用数据。 二、代码实现:...

利用C语言重定向函数freopen实现交换两个文本文件内容

/* ** Autor: Wangzhicheng ** E-Mail: 2363702560@qq.com ** Date: 2012/10/4 ** Description: 交换两个文件内...

[c语言]将两个整形升序数组合并为一个升序数组

已知条件:两数组A、B均为升序。
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)