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