帮帮忙需要一道c指针程序题void main(){ int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}}; int *p=a[0],i,j; scanf("%d,%d",&i,&j);printf("\n%4d",*(p+i*4+j));} 程序输入是 2 2结果是多少啊,为什么呢c语言的练习题也可以,

来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/23 06:22:25
帮帮忙需要一道c指针程序题voidmain(){inta[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};int*p=a[0],i,j;scanf("%d,%d",&

帮帮忙需要一道c指针程序题void main(){ int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}}; int *p=a[0],i,j; scanf("%d,%d",&i,&j);printf("\n%4d",*(p+i*4+j));} 程序输入是 2 2结果是多少啊,为什么呢c语言的练习题也可以,
帮帮忙需要一道c指针程序题
void main()
{ int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};
int *p=a[0],i,j;
scanf("%d,%d",&i,&j);
printf("\n%4d",*(p+i*4+j));
}
程序输入是 2 2
结果是多少啊,为什么呢
c语言的练习题也可以,最好对习题有详细的解释,视频也可以,谢谢了 #include
void sort (char*xname[],int n)
{
char *temp;
int i,j,k;
for (i=0;i

帮帮忙需要一道c指针程序题void main(){ int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}}; int *p=a[0],i,j; scanf("%d,%d",&i,&j);printf("\n%4d",*(p+i*4+j));} 程序输入是 2 2结果是多少啊,为什么呢c语言的练习题也可以,
结果是11
不管数组是几维的,在内存里面都是连续的空间,线性结构.
a[3][4]在内存中和a[12]可以理解成一样的.
也就是说,这里的a[3][4]可以看作a[12]={1,2,3,4,5,6,7,8,9,10,11,12};
然后指针p指向a[0]就是说p就是数组起始地址,那么p+n就是数组中的第n个元素
所以,p+i*4+j就和a[i*4+j]一样,i = 2,j = 2那么i * 4 + j = 10
a[10]就是数组中的第11个元素,结果是11