#include<stdio.h> main() {int i,j,a[3][3]; for(i=0;i<3;i++) for(j=0;j<3;j++) scanf("%d",&a[i][j]); for(i=0;i<3;i++) printf("%d",a[i]); }
int a[M][N]; a是一个有M个元素的指针数组,数组中的每个元素指向的是一个有N个元素的整型数组 所以你的程序输出的是指针,也就是内存地址 a -> a[0] -> a[0][0] a[0][1] a[0][2] a[1] -> a[1][0] a[1][1] a[1][2] a[2] -> a[1][0] a[1][1] a[1][2] -------------------------------------- 与%s对应的是一个地址 看看以下代码char *p = "abc"; char s[10] = "abc"; char ss[2][10] = {"abc", "bcd"}; printf("%s", "abc"); printf("%s", p); printf("%s", s); printf("%s", &s[0]); printf("%s", ss[0]);
------------------------以上printf的输出都是abc
利用一维数组输出二维数组
最新推荐文章于 2022-11-16 20:32:20 发布