int+a[10]={1,2,3,4,5,6,7,8};int*p+p=&a(5);p(-3)
1个回答
关注
展开全部
这段代码有语法错误,应该改为:```c++int a[10]={1,2,3,4,5,6,7,8}; int* p=&a[5];p[-3];```解释如下:- `int a[10]={1,2,3,4,5,6,7,8};` 定义了一个数组a,包含10个元素,前8个元素分别为1-8,后面的两个元素默认初始化为0。- `int* p=&a[5];` 定义了一个指针p,指向数组a的第6个元素(即5),即`p`指向了`a+5`。- `p[-3];` 相当于`*(p-3);`,即访问了`a+2`的值,也就是3。
咨询记录 · 回答于2023-03-12
int+a[10]={1,2,3,4,5,6,7,8};int*p+p=&a(5);p(-3)
是一段代码吗
这段代码有语法错误,应该改为:```c++int a[10]={1,2,3,4,5,6,7,8}; int* p=&a[5];p[-3];```解释如下:- `int a[10]={1,2,3,4,5,6,7,8};` 定宴竖义了一个数组a,包含10个元素,前8个元素分别为1-8,后面的两个元素默认初始化为0。- `int* p=&a[5];` 定义了一李答个指针p,指向数组a的第6个元素(即5),即`p`指向了`a+5`。- `p[-3];` 相晌扰大当于`*(p-3);`,即访问了`a+2`的值,也就是3。