C/C++中后缀++和前缀++的优先级

在这里,我们将看到 C 或 C++ 中 postfix++ 和 prefix++ 的优先级。前缀 ++ 或 -- 的优先级高于解引用运算符 '*',后缀 ++ 或 -- 的优先级高于前缀 ++ 和解引用运算符 '*'。

当ptr为指针时,则*ptr++表示*(ptr++),++*prt表示++(*ptr)

示例

#include<iostream>
using namespace std;
int main() {
   char arr[] = "Hello World";
   char *ptr = arr;
   ++*ptr;
   cout << *ptr;
   return 0;
}
输出结果
I

所以这里首先ptr指向'H'。使用 ++*ptr 后,它将 H 增加 1,现在值为“I”。

示例

#include<iostream>
using namespace std;
int main() {
   char arr[] = "Hello World";
   char *ptr = arr;
   *ptr++;
   cout << *ptr;
   return 0;
}
输出结果
e

所以这里首先ptr指向'H'。使用 *ptr++ 后它增加了指针,所以 ptr 将指向下一个元素。所以结果是'e'。