C语言中如何直接输出一个二维数组

Python019

C语言中如何直接输出一个二维数组,第1张

c语言中直接输出一个二维数组是用数组来访问输出的,例子:

#include<stdio.h>

#define M 4

#define N 3

void main()

{

int a[M][N],i,j

for(i=0i<Mi++)

for(j=0j<Nj++)

a[i][j]=3*i+j

for(i=0i<Mi++)

{ for(j=0j<Nj++)

printf("%d\t",a[i][j])//直接用数组来访问

printf("\n")

}

}

除了可以直接访问,也可以用指针来访问,用指针指向该数组,便可进行对数组的读写操作。

运行结果图:

1.在你的程序中有这么一句for(i=9i<=9i++)

{

for(r=9r<=9r++)

在for循环语句中表达式1,也就是相当于i=0这一句,初值表达式,是对循环变量赋初值的,输出a[i][r]当然要从i=0,r=0开始。

2.for循环中,表达式2,也就是本题中的i<9,是循环的条件,有时也可以说是循环的次数。

3.注意,在数组中,下标的合理长度是[0,

数组长度减1].所以应该是

for(i=0i<9i++){

for(r=0r<9r++)

修改后如下:

#include"stdio.h"

void

main()

{

int

a[9][9]={

{10,11,15,19,18,45,66,22,99},

{50,40,61,85,67,41,63,51,30},

{25,29,84,66,11,26,18,59,19},

{10,88,98,89,31,36,39,28,32},

{22,34,41,32,75,73,78,45,11},

{12,35,38,23,21,59,17,44,47},

{31,41,16,76,91,16,14,67,42},

{49,54,59,56,87,78,25,26,93},

{60,34,34,32,56,33,38,37,95}

},i,r

for(i=0i<9i++){

for(r=0r<9r++)

printf("%3d",a[i][r])

printf("\n")

}

}

运行结果为:

不明白,还可以问啊!

假设需要打印的数组为int类型,数组名为Array,Dim1为数组的行,Dim2为数组的列。

int i,j//临时变量

for(i = 0 i < Dim1 i++)//外层循环遍历行

  for(j = 0 j < Dim2 j++)//内层循环遍历列

    {

        printf("%d ",Array[i][j])//访问数组元素并打印

    }

打印数组时(无论几维)都要注意数组下标从0开始,除非刻意放弃下标为0的元素,多存一个元素,此时for循环范围则可从1开始到数组长度。