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;
}

输出:


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM