若有说明int a[10], *p=a;,则对数组元素引用不正确的是 A. p + 2 B. *(p + 2) C. p[2] D. *(a + 2)
时间: 2024-05-30 11:11:17 浏览: 3
正确的选项是 A,即 `p + 2`。
因为 `p` 指向数组 `a` 的第一个元素,即 `a[0]`,所以 `p + 2` 指向的是第三个元素,即 `a[2]`。而其他选项都是正确的:
- `*(p+2)` 等价于 `p[2]`,都是访问第三个元素。
- `p[2]` 等价于 `*(p+2)`,都是访问第三个元素。
- `*(a+2)` 等价于 `a[2]`,都是访问第三个元素。
相关问题
如果int y[6],*p=y那么哪个是对y数组元素的正确引用? A.y[6] B.p+2 C.y++ D.*p
正确的引用方式是:C.y
在这种情况下,y是一个数组名,表示整个数组,因此可以使用y来引用数组中的所有元素。例如,可以使用y[0]引用数组的第一个元素,y[1]引用数组的第二个元素,以此类推。
p是一个指针变量,它指向y数组的第一个元素。因此,可以使用*p来引用数组中的第一个元素,*(p+1)来引用数组中的第二个元素,以此类推。
A.y[6]是错误的,因为y数组中只有6个元素,最后一个元素的索引为5。
B.p 2是错误的,因为p 2并没有任何意义。
D.*p是正确的,因为*p引用了p所指向的内存单元中的值,也就是y数组中的第一个元素。
若有以下定义,则对a数组元素的正确引用是( )。 int a[5],*p=a; A.*&a[5] B.a+2 C.*(p+5) D.*(a+2)
正确引用是 D. *(a+2)。
解析如下:
- a[5] 表示 a 数组的第 6 个元素,是错误的引用方式;
- a+2 表示 a 数组的第 3 个元素的地址,是正确的引用方式;
- *(p+5) 表示 p 指针所指向的地址的后面 5 个元素的地址所存储的值,是错误的引用方式;
- *(a+2) 表示 a 数组的第 3 个元素的值,是正确的引用方式。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![ppt](https://img-home.csdnimg.cn/images/20210720083527.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)