在C/C++中,前缀++(或前缀--)的优先级与解引用(*)运算符的优先级相同,后缀++(或后缀--)的优先级高于前缀++和*。
如果 p 是一个指针,那么 *p++ 等价于 *(p++) 并且 ++*p 等价于 ++(*p) (前缀 ++ 和 * 都是右结合的)。
例如,程序 1 打印'd',程序 2 打印'x'。
输出:
输出:
// Program 1
#include<stdio.h>
int main()
{
char arr[] = "cxydh";
char *p = arr;
++*p;
printf(" %c", *p);
getchar();
return 0;
}
d
// Program 2
#include<stdio.h>
int main()
{
char arr[] = "cxydh";
char *p = arr;
*p++;
printf(" %c", *p);
getchar();
return 0;
}
x