2401_88204291 2024-10-29 15:11 采纳率: 83.3%
浏览 5
已结题

有关二维数组与指针与函数三者的问题

img


程序想要的目的是用一个函数选出二维数组中的最大值和最小值,但是似乎在传递参数和函数调用时产生了错误。

  • 写回答

2条回答 默认 最新

  • 小ᶻ☡꙳ᵃⁱᵍᶜ꙳ 优质创作者: 人工智能技术领域 2024-10-29 15:23
    关注

    回答引用自GPT-4o,由博主小ᶻZ࿆编写,若还有疑问可评论或留言:

    在C语言中,要使用函数来选出二维数组的最大值和最小值,可以按以下步骤进行:

    1. 函数声明

    定义一个函数,接受二维数组的指针以及行列信息,返回最大值和最小值。

    2. 函数实现

    下面是具体的代码示例,使用指针遍历二维数组来找出最大值和最小值。

    #include <stdio.h>
    #include <limits.h>
    
    // 函数声明,传入二维数组的指针和行列信息
    void findMaxMin(int (*arr)[3], int rows, int cols, int *max, int *min) {
        *max = INT_MIN;
        *min = INT_MAX;
        
        // 遍历数组,找到最大值和最小值
        for (int i = 0; i < rows; i++) {
            for (int j = 0; j < cols; j++) {
                if (arr[i][j] > *max) {
                    *max = arr[i][j];
                }
                if (arr[i][j] < *min) {
                    *min = arr[i][j];
                }
            }
        }
    }
    
    int main() {
        int arr[2][3] = {
            {1, 2, 3},
            {4, 5, 6}
        };
        int max, min;
        
        // 调用函数,传入数组和行列信息
        findMaxMin(arr, 2, 3, &max, &min);
        
        printf("最大值: %d\\n", max);
        printf("最小值: %d\\n", min);
        
        return 0;
    }
    

    3. 代码解释

    • findMaxMin函数:函数通过指针参数*max*min来返回结果。
    • INT_MIN 和 INT_MAX:用于初始化最大值和最小值,确保程序正常执行。
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 11月8日
  • 已采纳回答 10月31日
  • 创建了问题 10月29日