代码:
#include <stdio.h> #include <stdlib.h> void setval(const size_t, const size_t, int arr[*][*]); void display(const size_t, const size_t, int arr[*][*]); int main(void) { const size_t ROWS = 5; const size_t COLS = 3; int arr[ROWS][COLS]; setval(ROWS, COLS, arr); display(ROWS, COLS, arr); return EXIT_SUCCESS; } void setval(const size_t ROWS, const size_t COLS, int arr[ROWS][COLS]) { // 变长数组名实际上是指针 // 具有变长数组参量的函数实际上直接使用原数组,有能力修改作为参数传递进来的数组 for (size_t i = 0; i < ROWS; ++i) { for (size_t j = 0; j < COLS; ++j) { arr[i][j] = i + j; } } } void display(const size_t ROWS, const size_t COLS, int arr[][COLS]) { for (size_t i = 0; i < ROWS; ++i) { for (size_t j = 0; j < COLS; ++j) { printf("%2d", arr[i][j]); } printf("\n"); } }
输出:
0 1 2 1 2 3 2 3 4 3 4 5 4 5 6
时间: 2024-10-23 00:16:43