问题
填空题
请补充main()函数,该函数的功能是:输出一个4×4的矩阵,要求必须使用行指针表示输出变量。
注意:部分源程序已给出。
请勿改动主函数main和其他函数中的任何内容,仅在main()函数的横线上填入所编写的若干表达式或语句。
试题程序:
#include<stdlib.h>
#include<stdio.h>
void main()
static int arr[4][4]=(9,8,7,6),
6,5,4,3,
3,2,1,0,
2,4,6,8;
int(*p)[4],j,i;
p= (1) ;
system("CLS");
for(i=0;i<4;i++)
printf("\n\n");
for(j=0;j<4;j++)
printf("%4d", (2) );
答案
参考答案:*(*(p+i)+j)
解析: 题目中要求必须使用行指针表示输出变量,由程序可知变量p为行指针,其应该初始化为数组的首地址。因此[1]处应填arr;每输出一个数组元素时,变量p为上一行的末地址加上该行的偏移量,因此[2]处填*(*(p+i)+j)。