若有如下定义: int s[3][4]; 则下面表达式中能代表数组元素s[1][0]的值的是( )
A.*(s+1)
B.s[1]
C.s+1
D.*(s[1])
第1题:
若有定义int a[9],+P=a;,则P+5表示( )。
A.数组元素a[5]的值
B.数组元素a[5]的地址
C.数组元素a[6]的地址
D.数组元素a[0]的值加上5
第2题:
若有说明“int s[3][4]={0}:”,则下面正确的叙述是______。
A.只有元素s[0][0]可得到初值0
B.此说明语句不正确
C.数组s中各元素都可得到初值,但其值不一定为0
D.数组s中每个元素均可得到初值0
第3题:
若有定义: int w[3][5]; ,则以下不能正确表示该数组元素的表达式是
A)*(*w+3)
B)*(w+1)[4]
C)*(*(w+1))
D)*(&w[0][0]+1)
答案C
解析:在 C 语言中,二维数组的名字表示的是二维数组的地址,表达式 * ( w+1 )表示的是二维数组的第 1 行的第 2 元素。在其前面再加上 * ( * ( w+1 ) )就是错误的表达式。
第4题:
若有定义int w[3][5];,则以下不能正确表示该数组元素的表达式是
A.*(*w+3)
B.*(*w+1)[4]
C.*(*(*w+1))
D.*(&w[0][0]+1)
第5题:
设有定义语句:int a[][3]={{0},{1}{2}};,则数组元素a[1][2]的值是【 】。
第6题:
A. a[2][4]
B. a[3][3]
C. a[0][0]
D. a[3][4]
第7题:
若有以下定义和语句: int s[4][5],(*p)[5]; p=s; 则指针对s数组中第三个元素的正确引用形式是( )。
A.p[0][3]
B.p[1][2]
C.p[0][2]
D.p[1][3]
第8题:
若有定义语句:int a[3][6]; ,按在内存中的存放顺序,a 数组的第 10 个元素是
A ) a[0][4]
B)a[1][3]
C)a[0][3]
D)a[1][4]
第9题:
若有以下定义和语句: int s[4][5],( *ps)[5]; ps=s; 则对s数组元数的正确引用形式是
A.ps+1
B.*(ps+3)
C.ps[0][2]
D.*(ps+1)+3
第10题:
若有以下定义和语句: int s[4][5],(*ps)[5]; ps=s; 则对s数组元素的正确引用形式是( )。
A.ps+1
B.*(ps+3)
C.ps[0][2]
D.*(ps+1)+3