C Primer Plus(第六版)10.13 编程练习 第9题

#include

int N = 3;
int M = 5; //需要变长改这里

void show_arry(double target[][M],int size);
void copy_ptr(double tr[],double sr[], int size);

int main(void)
{
    int i,j;

    double target[N][M];
    double source[3][5] = {1.1,2.2,3.3,4.2,5.2,1.1,2.2,3.3,4.2,5.2,2.2,3.3,4.2,5.2,2.2};
    //这里source不定义成变长数组,符合题目要求.
    for(i=0;i         copy_ptr(target[i], source[i], M);
    show_arry(target,N);
    printf("\n");
    show_arry(source,N);

    return 0;
}

void copy_ptr(double tr[],double sr[], int size)
{
    int i;
    for(i = 0; i < size; i++)
        *(tr+i) = *(sr+i);
    return;
}

void show_arry(double target[][M],int size)
{
    int i,j;
    for(i = 0; i < N; i++){
        for(j = 0; j < M; j++)
            printf("%lf,",target[i][j]);
        printf("\n");
    }
    return;
}

你可能感兴趣的:(c语言,算法,开发语言)