红豆文案网-每一句文案都惊艳世界

红豆文案网-每一句文案都惊艳世界

c语言中*p++是*p=*p+1还是*p=为什么?

59

在C语言中,`*p++` 的含义是 先取出指针 `p` 指向的地址单元的数据,然后再将该值加1。由于运算符 `*` 的优先级高于运算符 `++`,所以 `*p++` 的计算顺序是先取指针 `p` 指向的地址单元的数据,然后 `p` 指向下一个地址。

具体来说,`*p++` 的执行过程如下:

1. `*p` 取指针 `p` 指向的地址单元的数据。

2. `p++` 将指针 `p` 向后移动到下一个地址。

因此,`*p++` 的结果是 `*p` 的值加1,并且指针 `p` 指向下一个地址。

总结:

`*p++` 等价于 `*p = *p + 1`。

`p++` 是将指针 `p` 向后移动到下一个地址,而不是对 `p` 指向的数据进行加1操作。

建议在实际编程中注意运算符的优先级和结合性,以避免混淆和错误。