C语言中(*++p)--
时间: 2024-06-14 07:06:06 浏览: 99
c代码-复合运算++,--
C语言中的`(*++p)--`是一个复合操作符,它包含了指针的自增、解引用和自减操作。下面是对这个操作符的解释和示例代码:
1. `(*++p)--`的解释:
- 首先,`++p`会将指针`p`的值自增1,指向下一个内存地址。
- 然后,`*`会解引用指针`p`,获取指针所指向地址的值。
- 最后,`--`会将解引用后的值减1,并将结果赋值给解引用后的地址。
2. 示例代码:
```c
int arr[] = {1, 2, 3, 4, 5};
int *p = arr; // 指针p指向数组arr的第一个元素
(*++p)--; // 对指针p进行自增、解引用和自减操作
printf("%d\n", *p); // 输出:2
printf("%d\n", arr[1]); // 输出:2
```
在示例代码中,`(*++p)--`操作对指针`p`进行了自增、解引用和自减操作。最终,指针`p`指向了数组`arr`的第二个元素,并且该元素的值减1。因此,输出的结果为2。
阅读全文