随笔 - 163, 文章 - 1, 评论 - 20, 阅读 - 14万
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

C语言逆序操作数组和引用传递参数

Posted on   steve.z  阅读(12)  评论(0编辑  收藏  举报



//
//  main.c
//  Test_C
//
//  Created by steve xiaohu zhao on 2025/1/20.
//

#include <stdio.h>

// C 语言指针传递参数(引用传递)
void swap(int *px, int *py) {
    int t = *px;
    *px = *py;
    *py = t;
}

void test(int n) {
    int x = 1;
    for (int i = 1; i <= n; i++)
        for (int j = 1; j <= i; j++)
            for (int k = 1; k <= j; k++)
                x++;
}

// 1. 将数组元素逆序操作后,存放在原数组中
void reverseArray(void) {
    // 1. 声明一个数组
    int nums[] = {1, 3, 5, 7, 9, 2, 4, 6, 8, 10};

    // 2. 通过循环逆序输出
    // 2.1 获取数组长度
    int len = sizeof(nums) / sizeof(nums[0]);

    printf("逆序操作前的数组:\n");
    for (int i = 0; i < len; i++) {
        printf("%d ", nums[i]);
    }
    printf("\n");

    // 2.2 循环将数组逆序操作
    for (int i = 0; i < len / 2; i++) {
        int temp = nums[i];
        nums[i] = nums[len - i - 1];
        nums[len - i - 1] = temp;
    }

    // 3. 循环输出原数组内容
    printf("逆序操作后的数组:\n");
    for (int i = 0; i < len; i++) {
        printf("%d ", nums[i]);
    }
    printf("\n");
}

int main(int argc, const char *argv[]) {
    // insert code here...

    //    // 1. C 语言传递指针类型(引用传递参数)
    //    int a = 10, b = 20;
    //    printf("交换前: a = %d, b = %d", a, b);
    //    swap(&a, &b);
    //    printf("交换后: a = %d, b = %d", a, b);

    // 2. 数组逆序操作
    reverseArray();

    return 0;
}


相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
历史上的今天:
2011-01-20 继承、实现、依赖、关联、聚合、组合
点击右上角即可分享
微信分享提示