两种编码方式感觉没有任何差别,但是结果就是不一样。
方式一:(正确的方式)
#include
using namespace std;
int main()
{
int a[] = { 1,3,5,7,9 }, i, * p;
for (p = a;p < a + 5;)
{
cout << "a[" << p - a << "]=";
cout << *(p++) << "\t";
}
cout << endl;
}
输出结果为
a[0]=1 a[1]=3 a[2]=5 a[3]=7 a[4]=9
方式二:(错误的方式)
using namespace std;
int main()
{
int a[] = { 1,3,5,7,9 }, i, * p;
for (p = a;p < a + 5;)
cout<< "a[" << p - a << "]="<<*(p++)<<"\t";
cout<<endl;
}
输出结果为
a[1]=1 a[2]=3 a[3]=5 a[4]=7 a[5]=9
为什么第二种打法会有这种状况?感觉都是一样的啊。希望能给出详细的解答。