若干种使用指针输出二维数组中元素的方式

来源:互联网 发布:linux语言改为中文 编辑:程序博客网 时间:2024/04/29 17:19
#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;}


0 0
原创粉丝点击