#include"stdio.h"
#define M 5
#define N 4
int main(int argc, char* argv[])
{
int a[M][N], i, j, k = 1;
for (i = 0; i < M; i++)
{
for (j = 0; j<N; j++)
{
a[i][j] = k++;
}
}
//使用数组名输出
for (i = 0; i < M; i++)
{
for (j = 0; j<N; j++)
{
printf_s("%4d", *(*(a + i) + j));
}
printf_s("\n");
}
printf_s("\n");
//使用指针输出
int *p = *a;
for (i = 0; i < M*N; i++)
{
if (i % 4 == 0)
{
printf_s("\n");
}
printf_s("%4d", *(p + i));
}
printf_s("\n");
//
int(*pa)[N] = a;
for (i = 0; i < M*N; i++)
{
if (i % 4 == 0)
{
printf_s("\n");
}
printf_s("%4d", *(*pa + i));
}
printf_s("\n\n");
//使用指向一维数组的指针输出
int(*pb)[N] = a;
int *pc;
for (i = 0; i < M; i++)
{
pc = *(pb + i);
for (j = 0; j < N; j++)
{
printf_s("%4d", *(pc + j));
}
printf_s("\n");
}
printf_s("\n");
//使用指针数组输出
int *pd[M] = { a[0], a[1], a[2], a[3], a[4] };
for (int i = 0; i < M; i++)
{
for (int j = 0; j < N; j++)
{
printf_s("%4d", *(pd[i] + j));
}
printf_s("\n");
}
return 0;
}
若干种使用指针输出二维数组中元素的方式
最新推荐文章于 2021-05-19 02:52:18 发布