c语言,二维数组

来源:百度知道 编辑:UC知道 时间:2024/05/30 03:49:37
1.若有定义和语句:
int a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12},(*prt)[3]=a,*p[4],i;
for(i=0;i<4;i++) p[i]=a[i];
则不能正确表示a数组元素的表达式是A
A. a[4][3] B.p[0][0] C.prt[2][2] D.(*(p+1))[1]
请详解.
2. 有以下程序;
#inclue<stdio.h>
main()
{int aa[3][3]={ {2},{4},{6} },i,*p=&aa[0][0];
for(i=0;i<2;i++)
{if(i==0) aa[][]=*p+1;
else ++p;
printf("%d",*p);
}
printf("\n");
}
程序输出结果是23 .想知道a[3][3]={{2},{4},{6} }是怎么分配的
是2 0 0 2 2 2
4 0 0 4 4 4
6 0 0吗?还是 6 6 6 还有这道题的解析过程

你好:
我来帮你
(1)应该是
2 0 0
4 0 0
6 0 0

(2)程序有问题aa[][]是?

1.答案是A

记住一点即可,定义一个4元素的数组 int a[4], 那么其4个元素是 a[0],a[1],a[2],a[3],不包括a[4]

2.题目有问题
aa[][]的写法不正确。另外#inclue应该为#include

至于 a[3][3]={{2},{4},{6} }是怎么分配的

就是
a[0][0]=2
a[1][0]=4
a[2][0]=6

aa[][]是什么意思??