下载APP
【单选题】
以下程序的输出结果是
#include
int a[3][3]={1,2,3,4,5,6,7,8,9,},*p;
main( )
{ p=(int *)malloc(sized(int));
f(p,a) ;
printf("%d\n",*p);
free(p);}
f(int *s,int p[ ][3])
{ *s=p[1][1];}
A.1
B.4
C.7
D.5
A B C D
D
[解析] 本题考查了二维数组元素引用的方法。题中用动态存储分配函数malloc分配了一个int型数据长度大小的内存,然后指针p指向了这段内存,函数f( )中对p所指向的数据进行了赋值,p[1][1]为二维数组第二行第二列的元素,对应于实参a的元素5,所以输出结果为5。
A.
1
B.
4
C.
7
D.
5
题目标签:
赋值
二维数组
动态存储分配
举报
如何制作自己的在线小题库
参考答案:
参考解析:
刷刷题刷刷变学霸
举一反三
【单选题】二维数组A[14][9]采用列优先的存储方法,若每个元素占4个存储单元,且第一个元素的首地址为50,则A[6][5]的地址为( )
A.
346
B.
350
C.
354
D.
358
查看完整题目与答案
【单选题】设有变量 a 、 b 、 c 、 d 且都已正确定义并赋值。若有下列 if 语句: if(a if(c==d) y=0; else y=1; 该语句所表示的含义是 。
A.
当a
B.
当a
C.
当a
D.
当a
查看完整题目与答案
【单选题】设变量已正确定义并赋值,以下正确的表达式是______。
A.
x=y+z+5, + +y
B.
int(15.8%5)
C.
x=y*5=x+z
D.
x=25%5.0
查看完整题目与答案
【单选题】使用二维数组的数组名作为函数实参,其向形参传递的是()
A.
二维数组中首元素的值
B.
二维数组中首元素的地址
C.
二维数组中首行元素的行地址
D.
二维数组全部元素的值
查看完整题目与答案
【单选题】关于动态存储分配,下列说法正确的是
A.
new和delete是C++语言中专门用于动态内存分配和释放的函数
B.
动态分配的内存空间也可以被初始化
C.
当系统内存不够时,会自动回收不再使用的内存单元,因些程序中不必用delete释放内存空间
D.
当动态分配内存失败时,系统会立刻崩溃,因此一定要慎用new
查看完整题目与答案
【简答题】C语言中,二维数组元素在内存中的存放顺序是()。
查看完整题目与答案
【单选题】在下面的二维数组定义中,语法正确的选项是()。
A.
int a[5][];
B.
int a[][5];
C.
int a[][3]={{1,3,5},{2}};
D.
int a[](10);
查看完整题目与答案
【简答题】函数fun的功能是计算x的n次方。 double fun(double x,int n) {int i; double y=1; for(i=1;i<=n;i++) y=y*x; return y; } 主函数中已经正确定义 m 、 a 、 b 变量并赋值 , 并调用 fun 函数计算 :m=a^4+b^4-(a+b)^3 。实现这一计算的函数调用语句为______。
查看完整题目与答案
【单选题】关于二维数组的有关说法,正确的是()
A.
数组中的所有元素都只有一个前趋结点和一个后继结点
B.
数组中的所有元素都具有至少一个直接前驱
C.
数组中的所有元素都具有至少一个直接后继
D.
开始结点没有直接前驱
查看完整题目与答案
【多选题】二维数组初始化正确的是()
A.
intarr[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};
B.
intarr[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};
C.
intarr[][4]={1,2,3,4,5,6,7,8,9,10,11,12};
D.
intarr[3][4]={{1,2,3},{4,5},{6}};
查看完整题目与答案