若有说明:int a[][3]={1,2,3,4,5,6,7};则数组a第一维大小是()。
第1题:
若有说明 int a[3][4];则a数组元素的非法引用是
A.a[0][2*1]
B.a[1][3]
C.a[4-2][0]
D.a[0][4]
第2题:
若有说明int a[][3]={1,2,3,4,5,6,7,8,9},则a数组第一维的大小是( )。
A.2
B.3
C.4
D.无确定值
第3题:
以下程序的输出结果是 【 17 】 。
int fun(int *x,int n)
{ if(n==0) return x[0];
else return x[0]+fun(x+1,n-1);
}
main( )
{ int a[]={1,2,3,4,5,6,7}; printf("%d\n",fun(a,3));}
第4题:
答案:3
解析:
本题考查二维数组的定义方式。第一维的大小由以下方法判断:①当初值的个数能被第二维的常量表达式的值除尽时,所得商数就是第一维的大小;2)当初值的个数不能被第二维的常量表达式的值除尽时,则第一维的划、:所得的商数+1。
第5题:
若有以下定义 int a[]={1,2,3,4,5,6,7 }; char c1='b',c2='2'; 则数值不为2的表达式是( )。
A.a[1]
B.'d'-c1
C.a['3'-c2]
D.c2-0
第6题:
若有说明:int a[3][4];则对a数组元素的非法引用是 ( )。
A.a[0][2*1]
B.a[1][3]
C.a[4-2][0]
D.a[O][4]
在数组这部分的知识里面,数组下标越界是一个比较容易忽略的问题,其下标是从O开始,至n一1为止,因此选项D是正确答案。
第7题:
此题为判断题(对,错)。
第8题:
以下程序的输出结果是______
nt fun(int*x,int n)
{if(n==0)
return x[0];
else return x[0]+fun(x+1,n-1);
}
main()
{int a[]={1,2,3,4,5,6,7};
printf(“%d\n”,fun(a,3));
}
10
第9题:
若有说明:int a[][3]={1,2,3,4,5,6.7,8};则a数组第一维的大小是______。
A.2
B.3
C.4
D.无确定值
第10题:
若有说明:int a[][3]={1,2,3,4,5,6,7};则数组a第一维的大小是( )。
A.2
B.3
C.4
D.无确定值