C语言二维数组、参数传递的理解

首先定义一个数组:a[3][4] = { 1,3,5,7,9,11,13,15,17,19,21,23 };

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
void print(int c[][4], int num)//每行4个元素
{
	int i,j;
	for (i = 0; i < num; i++)
	{
		for (j = 0; j < sizeof(c[0]) / sizeof(int); j++)
		{
			printf("%d\t", c[i][j]);
		}
		printf("\n");
	}
}
int main()
{
	int a[][4] = { 1,3,5,7,9,11,13,15,17,19,21,23 };
	print(a, 3);//一共有3行
	system("pause");
}

输出结果:

1       3       5       7
9       11      13      15
17      19      21      23
请按任意键继续. . .

换一种输出方式(声明为3*4数组,传递并输出为4*3数组):一行3个,一共4行

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
void print(int c[][3], int num)//每行3个元素
{
	int i,j;
	for (i = 0; i < num; i++)
	{
		for (j = 0; j < sizeof(c[0]) / sizeof(int); j++)
		{
			printf("%d\t", c[i][j]);
		}
		printf("\n");
	}
}
int main()
{
	int a[][4] = { 1,3,5,7,9,11,13,15,17,19,21,23 };
	print(a, 4);//一共有4行
	system("pause");
}

输出结果:

1       3       5
7       9       11
13      15      17
19      21      23
请按任意键继续. . .

猜你喜欢

转载自blog.csdn.net/sinat_42483341/article/details/86250280