int a[10]={9,8,7,6,5,4,3,2,1,0},*p=a+2; printf("%d",*--p);
时间: 2023-08-19 18:44:53 浏览: 150
输出结果为7。
首先,`a+2`表示数组a中第3个元素的地址,即&a[2]。将该地址赋值给指针变量p,因此p指向a[2]这个元素。
然后,`--p`表示将p指向的地址减1,即移动到a[1]这个元素的地址。由于a[1]的值为8,因此`*--p`的值为8。
最后,`printf("%d",*--p);`语句输出8。
相关问题
int a[10]={0,1,2,3,4,5,6,7,8,9}; int *p=&a[2]; 则p[3]等于?
根据题目,已知int a[]={1,2,3,4,5};int*p[]={a,a+1,a+2,a+3};int **q=p;表达式*(p+1)+**(q+2)的值是5。另外,引用提供的信息与此问题无关,不需要参考。
根据题目,int a[10]={0,1,2,3,4,5,6,7,8,9}; int *p=&a; 则p等于5。解释如下:
- p指向a,即3。
- p表示p指向的地址往后偏移3个int类型的长度,即p+3,对应的值为a,即5。
若有int a[10]={1,2,3,4,5,6,7,8,9,10}; int *p=&a[0];int *q=&a[6];则q-p=( )。
根据题目中的定义 `int a[10]={1,2,3,4,5,6,7,8,9,10};`,可以得知:
- 数组 a 共有 10 个元素,分别为 1、2、3、4、5、6、7、8、9、10。
- &a[0] 表示数组 a 的首地址,即 a 数组的第一个元素的地址。
- &a[6] 表示数组 a 中下标为 6 的元素的地址,即 a 数组的第七个元素的地址。
因此,指针变量 p 指向 a 数组的第一个元素,即 p=&a[0];指针变量 q 指向 a 数组的第七个元素,即 q=&a[6]。
指针相减的结果是两个指针之间的元素个数,即 q-p 表示 q 指向的元素和 p 指向的元素之间相隔的元素个数。
因为指针 p 指向 a 数组的第一个元素,而指针 q 指向 a 数组的第七个元素,因此它们之间相隔的元素个数为 6。
因此,q-p 的值为:`6`。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.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)