C++中 *p++ 到底是 *(p++) 还是 (*p)++
1. 猜想
*的优先级大于+,*p++如果没有括号 p应该和*在一起,而不是和+在一起。
2. 代码
// testPoint.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//
#include <iostream>
using namespace std;
int main()
{
int n[10];
for (int i = 0; i < 10; i++)
{
n[i] = i*10;
}
int* p = n;
cout << "*p++" << "\n";
for (int i = 0; i < 10; i++)
{
cout << *p++ <<"\n";
}
p = n;
cout << "*(p++)" << "\n";
for (int i = 0; i < 10; i++)
{
cout << *(p++) << "\n";
}
p = n;
cout << "(*p)++" << "\n";
for (int i = 0; i < 10; i++)
{
cout << (*p)++ << "\n";
}
cin.get();
return 0;
}
3. 运行结果
4. 结论
结论证明猜想是正确的