#include <stdio.h>

void a(int (*z)[3], int r);   // 関数宣言
void b(int z[2][3]);           // 関数宣言

int main(void) {
    int x[2][3] = {0};   // 2x3の配列を初期化
    int y = 2;

    a(x, y);   // 配列xと値yを渡す

    printf("array x\n");
    
    b(x);   // 配列xを表示

    return 0;
}

void a(int (*z)[3], int r) {
    for (int i = 0; i < 2; i++) {
        for (int j = 0; j < 3; j++) {  // j++に修正
            z[i][j] = r;
        }
    }
}

void b(int z[2][3]) {
    for (int i = 0; i < 2; i++) {
        for (int j = 0; j < 3; j++) {  // j++に修正
            printf("%d ", z[i][j]);
        }
        putchar('\n');
    }
}
