二维数组函数传递格式。解决方法

二维数组函数传递格式。。
实在没法了,书上只讲了一个二维数组的传递,题里面却有2个数组传递。。
int sum(int ar[][4],int rows);//一个数组声明
sum(ar,ROWS); //调用
int sum(int ar[][4],int rows)//定义
 可2个数组怎么传递呢。。试了很多种办法。。老是出错
C/C++ code
#include<stdio.h>
#define ROWS 3
void copy_arr(double *,double *);
int main(void)
{
    double source[3][4]={
        {1.0,3.0,5.1,7.2},
        {2.1,4.3,6.5,8.7},
        {9.1,10.2,11.5,12.8}
    };
    double target1[3][4];
    int i,m;
    
    printf("source[3][4] is:\n");
    for(i=0;i<3;i++)
        for(m=0;m<4;m++)
            printf("%.1lf",source[3][4]);
        
    copy_arr(source,target1);
    printf("target1[3][4] is:\n");
    for(i=0;i<3;i++)
        for(m=0;m<4;m++)
            printf("%.2lf",target1[3][4]);

        return 0;
}

void copy_arr(double source[][4],target1[][4])
{
    int i,m;
    for(i=0;i<3;i++)
        for(m=0;m<4;m++)
            target1[i][m]=source[i][m];
        return 0;
}
    

C/C++ code
 error C2660: 'copy_arr' : function does not take 2 parameters
D:\Program Files\Microsoft Visual Studio\MyProjects\lianxi1006\1.cpp(28) : error C2061: syntax error : identifier 'target1'
D:\Program Files\Microsoft Visual Studio\MyProjects\lianxi1006\1.cpp(33) : error C2065: 'target1' : undeclared identifier
D:\Program Files\Microsoft Visual Studio\MyProjects\lianxi1006\1.cpp(33) : error C2109: subscript requires array or pointer type
D:\Program Files\Microsoft Visual Studio\MyProjects\lianxi1006\1.cpp(33) : error C2109: subscript requires array or pointer type
D:\Program Files\Microsoft Visual Studio\MyProjects\lianxi1006\1.cpp(33) : warning C4244: '=' : conversion from 'double' to 'int', possible loss of data
D:\Program Files\Microsoft Visual Studio\MyProjects\lianxi1006\1.cpp(33) : error C2106: '=' : left operand must be l-value
D:\Program Files\Microsoft Visual Studio\MyProjects\lianxi1006\1.cpp(34) : error C2562: 'copy_arr' : 'void' function returning a value
        D:\Program Files\Microsoft Visual Studio\MyProjects\lianxi1006\1.cpp(28) : see declaration of 'copy_arr'
执行 cl.exe 时出错.

1.obj - 1 error(s), 0 warning(s)



------解决方案--------------------
C/C++ code

#include<stdio.h>
#define ROWS 3
void copy_arr(double source[][4],double target1[][4]);
int main(void)
{
    double source[3][4]={
        {1.0,3.0,5.1,7.2},
        {2.1,4.3,6.5,8.7},
        {9.1,10.2,11.5,12.8}
    };
    double target1[3][4];
    int i,m;

    printf("source[3][4] is:\n");
    for(i=0;i<3;i++)
        for(m=0;m<4;m++)
            printf("%.1lf",source[i][m]);

    copy_arr(source,target1);
    printf("target1[3][4] is:\n");
    for(i=0;i<3;i++)
        for(m=0;m<4;m++)
            printf("%.2lf",target1[i][m]);
    getchar();
    return 0;
}

void copy_arr(double source[][4],double target1[][4])
{
    int i,m;
    for(i=0;i<3;i++)
        for(m=0;m<4;m++)
            target1[i][m]=source[i][m];
}