基于C++输出指针自增(++)运算的示例分析
#include "stdafx.h"
#include <iostream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
char s[] = "012345678", *p = s;
cout << "s:"<<s<<endl;
cout << "*p++ = " << *p++ << ", *(p++) = " << *(p++) << ", (*p)++ = " << (*p)++ << ", *++p = " << *++p << ", *(++p) = "<< *(++p) << ", ++*p = " << ++*p << ", ++(*p) = "<< ++(*p) << endl;
cout<<"-------------------"<<endl;
char s1[] = "012345678";
p = s1;
cout << endl << "s1:"<<s1<<endl;
cout << "*p = " << *p <<endl;
cout << "*p++ = " << *p++ << endl;
cout << "*p = " << *p <<endl;
cout << "*(p++) = " << *(p++) << endl;
cout << "*p = " << *p <<endl;
cout << "(*p)++ = " << (*p)++ << endl;
cout << "*p = " << *p <<endl;
cout << "*++p = " << *++p << endl;
cout << "*p = " << *p <<endl;
cout << "*(++p) = " << *(++p) <<endl;
cout << "*p = " << *p <<endl;
cout << "++*p = " << ++*p << endl;
cout << "*p = " << *p <<endl;
cout << "++(*p) = " << ++(*p) <<endl;
cout<<"-------------------"<<endl;
system("pause");
return 0;
}
输出:
s:012345678
*p++ = 3, *(p++) = 3, (*p)++ = 2, *++p = 4, *(++p) = 4, ++*p = 4, ++(*p) = 4
-------------------
s1:012345678
*p = 0
*p++ = 0
*p = 1
*(p++) = 1
*p = 2
(*p)++ = 2
*p = 3
*++p = 3
*p = 3
*(++p) = 4
*p = 4
++*p = 5
*p = 5
++(*p) = 6
-------------------
请按任意键继续. . .