定义一个4x4的二维整数数组并为其赋初值,定义一个指向该二维数组的指针,将该数组赋值给另一个二维数组,使用指针输出第一个数组的内容,使用数组名输出第二个数组中的内容。从键盘输入一个整数,查找该数是不是二维数组中的元素,如果是,输出该元素的名称(如a[1][2])。
代码文本:
#include "stdio.h"
int main(int argc,char *argv[]){
int a[4][4]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16},b[4][4];
int (*pa)[4],i,j,k;
for(pa=a,i=0;i<4;i++)//将a赋给b
for(j=0;j<4;b[i][j++]=*(*(pa+i)+j));
printf("Output array A using it's pointer...\n");
for(pa=a,i=0;i<4;i++){
for(j=0;j<4;printf("%3d",*(*(pa+i)+j++)));
putchar('\n');
}
printf("Output array B using it's name...\n");
for(pa=a,i=0;i<4;i++){
for(j=0;j<4;printf("%3d",b[i][j++]));
putchar('\n');
}
printf("Enter a number(int)...\n");
scanf("%d",&k);
for(i=0;i<4;i++){
for(j=0;j<4;j++)
if(a[i][j]==k)
break;
if(j<4){
printf("%d is in a[%d][%d]...\n",k,i,j);
break;
}
}
if(i>=4)
printf("No find %d...\n",k);
return 0;
}