随机生成包含M*N个三位数的二维数组,并按行输出此二维数组。

(要求:用指针实现,定义一指向二维数组的指针,以指针的形式输出)

#include "stdio.h"#include <stdlib.h>int main(int argv,char *argc[]){    int n,**a,*b,i,j;    printf("Input n(int 2<n<8)...\nn=");    if(scanf("%d",&n)!=1 || n<3 || n>7){        printf("Input error, exit...\n");        return 0;    }    b=(int *)malloc(sizeof(int)*n*n);    if(!b || (a=(int **)malloc(sizeof(int*)*n))==NULL){        printf("Application memory failure...\n");        return 0;    }    for(j=i=0;i<n;a[i++]=b+j,j+=n);    for(i=0;i<n;i++){        for(j=0;j<n;printf("%3d",a[i][j++]=i*j));        printf("\n");    }    free(b);    free(a);    return 0; }

运行样例:

温馨提示:答案为网友推荐,仅供参考