哪位大佬帮帮忙啊,C语言不会啊

30题
2024-12-23 14:11:07
推荐回答(1个)
回答1:

答案是9(D)。

解释:首先,三个变量的数据类型:a整型数组(长度10),p整型指针,b整型变量。

接下来p = &a[3]的含义,是p取数组中变量a[3](第四个元素)的地址,相当于p=a+3。此时p指向a中第四个元素。

b=p[5],相当于b=*(p+5),p向后偏移距离5位置的数,所以相当于a中第9个元素(即9)。

数组在运行时,内存空间通常是连续的,也就是说,a[0..9]是连在一起的,计算机在存储时,会将这10个数放在某个连续地址上,这样取数组中任何一个数只需要从开始的地方(a的地址)加上一个偏移量即可。这个例子中偏移了两次。

举个形象的例子给你。a是旅店老板,有10间房(从0开始编号,房间墙上分别印着1-10),顾客p入住在编号为3的房间,问,从p那间房间往编号大的房间开始数,距离为5的房间里墙上印着的数字是几。

不懂再问吧