33问答网
所有问题
急~~C++.若已定义:int a[10];则下面表达式中不表示a[1]的地址的是?麻烦讲解一下。
A、a+1
B、&a[1]
C、&a[0]+1
D、a++
举报该问题
推荐答案 2011-01-08
选D,D只实现地址自增,表达式的值仍未原值(a++的值是a,但这之后,a=a+1;)
A.是因为a即相当于数组有相当于指针
B与C.&表示取地址,地址也是个数
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://33.wendadaohang.com/zd/cR4BWPc55.html
其他回答
第1个回答 2011-01-08
选D吧
int a[10], a可以看做一个const int *, a++是不行的,不能自增
a+1, &a[1], &a[0] + 1,是可以的
第2个回答 2011-01-08
C选项不能,因为整型地址是2位,加1不能达到目地。
第3个回答 2011-01-08
a不是变量,不能自加
相似回答
若有以下
定义
和语句
: int
a[10]
={1,2,3,4,5,6,7,8,9,10},p=a
; 则不
...
答:
即a[0],
a[1]
,a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],正好10个,没有
a[10]
,所以a[10]就是不能
表达
这个数组元素。C、*a ---数组名a中保存的是数组的首地址,*是取单元中的值,*a就是取数组首地址中单元中a[0]的值。D、a[p-a] --- p指向的是数组a,因为p...
若已定义:int
a[
9],*p=a;并在以后的语句中未改变p的值,
则不
能
表示a
...
答:
选择答案C,
a++表示的是先去a的值,然后再进行加1的操作,也就是说因此a++表示a[0]的地址
,但是它错误的主要原因是因为a是数组的首地址,是一个常量不能够改变,这是错误的主要原因,如果能改变也是a[0]的地址不会是a[1]的地址。p+1,a+1,++p(先进行自加的操作再取值,所以可以表示a[1...
若有以下
定义:int
x
[10]
,*pt=x
; 则
对x数组元素的正确应用是( )
答:
在c、
c++
中,
表达式中
*()与[]操作完全相同,其实所有x[n]在编译时会被自动替换成*(x+n)。也就是这里的B显然是对的,其效果等同于x[3]。由于x只有10个元素,也就是只有x[0]~x[9],所以对于一切下标为
10的
操作都是非法的,也就是A和C排除。D的值是pt指针后移三个位置的值,根据第一...
大家正在搜
若有定义int a[3][4]
若有定义int a[2][3]
若有定义int a 2 3
若已定义int a
int a[10]={10*1}
已知int a[10],*p=a
若有定义语句 int a
若有定义int a
若有定义int a=7
相关问题
int a[10],为什么++a不能表示a[1]的地址
若有定义:“int a[9], *p=a”,则不能表示a[1...
若已定义char s[10];则在下面表达式中不表示s[1]...
若有定义:int a[10];。则以下表达式中不能代表数组元...
若有定义int a =10,则表达式a+=a-=a*=a的值...
若已定义int a;则表达式a=11,a+1,a++的值是
若已定义:int a[9],*p=a;并在以后的语句中未改变...
C语言考试题 急急急!!!