若有定义:int aa[8];,则以下表达式中不能代表数组元素aa[1]的地址的是
A.&aa[0]+1
B.&aa[1]
C.&aa[0]++
D.aa+1
人气:212 ℃ 时间:2019-11-06 03:34:45
解答
选C
aa是数组名的同时也是这个数组首元素的首地址,也就是aa=&aa[0]
找aa[1]的地址就是首地址偏移一个整形位,所以A D 对
B就是对元素aa[1]取地址
所以ABD对
C中&小于后置++的优先级所以&aa[0]++等价于
&(aa[0]++)所以先对aa[0]中的元素值加1后,在对aa[0]取址,结果还是aa[0]的地址
故C错
推荐
- 19、若有定义int a[3][4];则不能正确表示a数组元素地址的表达式是 (
- 若有定义:int w[3][5];这一下不能正确表示该数组元素的表达式是()
- 若有以下定义和语句:int a[10]={1,2,3,4,5,6,7,8,9,10},p=a; 则不能表示a数组元素的表达式是( ) A) *p B)
- C语言若有定义:int w[3][5]; 则以下不能真确表示该数组元素的表达式是:
- 下列数组定义错误的是 A.int x=5,a[x]; B.int aa[1]; C.int aa[2][3]; D.int a['a'];
- 先化简在求值 2n+【4m-3(m+2n)】,其中m=2/3,n=-4
- Why do you want to make your home town greener?
- 什么苦朴素?一个成语
猜你喜欢