专栏首页数据分析与挖掘c语言之使用指针将数组进行反转

c语言之使用指针将数组进行反转

#include<stdio.h>
#include<iostream>

void reverse(int* a, int length) {
    int* p, temp, * i, * j, m;
    m = (length - 1) / 2;//取得中间的下标
    i = a;//i指向数组的首元素
    j = a + length - 1;//j指向数组的尾元素
    p = a + m;//p指向数组中间的元素
    for(; i < p; i++,j--)
    {//依次交换首尾元素的值
        temp = *i;
        *i = *j;
        *j = temp;
    }
}
void printArr(int arr[],int length) {
    for (int i = 0; i < length; i++)
    {
        printf("%d ", arr[i]);
    }
    putchar('\n');
}
int main() {
    int a[5] = { 1,2,3,4,5 };
    int length = sizeof(a) / sizeof(a[0]);
    printf("反转之前的数组:\n");
    printArr(a, length);
    reverse(a, length);
    printf("反转之后的数组:\n");
    printArr(a, length);
    system("pause");
    return 0;
}

输出:

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • c语言之在函数内部改变数组的值从而影响外部数组的四种方式

    绝命生
  • c语言之指向二维数组元素的指针变量

    首先我们需要明确的是:二维数组在内存中是连续的,比如一个二维数组int a[2][3]={1,2,3,4,5,6},可以视作是两个一维数组构成的,即int a0...

    绝命生
  • springboot开发之实现登录功能

    2、在com.gong.springbootcurd.controller下新建LoginController.java

    绝命生
  • C语言 二维数组和指针的一些笔记

    &arr是指整个数组的首地址,而arr是指数组首元素的首地址,虽然所表示的意义不同,但二者之间的值却是相同的。

    小锋学长
  • C编程练习003

    正念君
  • 如何在C中定义多行宏定义?

    用户4645519
  • LeetCode - 按奇偶排序数组②

    这题是LeetCode第N次周赛的题目,题号是922,难度是Easy,当时处于疯狂刷通过率高的题目,然后提高自己的信心的地步...看提交记录,应该是一个月三周前...

    晓痴
  • 每天一道leetcode905-按奇偶排序数组

    2018.11.12号打卡 明天的题目: https://leetcode.com/problems/merge-intervals/

    乔戈里
  • LeetCode第58/66题

    Given a string s consists of upper/lower-case alphabets and empty space characte...

    用户3112896
  • 李飞飞卸任斯坦福AI实验室负责人,NLP领军人物Manning接任

    根据斯坦福人工智能实验室官方Twitter消息,深度学习自然语言处理领军人、斯坦福教授Chris Manning将接替李飞飞,成为该实验室最新一任负责人。

    新智元

扫码关注云+社区

领取腾讯云代金券