#include
COUT << * P << * (p ) << (* p) << * P << * ( P) << * P << (* P) << ENDL ; P = s; cout << * p << endl; cout << * (p ) << endl; cout << (* p) << endl; cout << * p << endl; cout << * ( P) << Endl; cout << * p << endl; cout << (* p) << endl; return 0;} VC 6 Debug Under Analysis: COUT The operation is carried out from the right left, but the last output is still from left to right. So cout << * p << * (p ) << (* p) << * p << * ( P) << * p << (* p) << Endl; 2. (* p), * p, * ( p), * p, (* p) , * (p ), * p , and finally the output. 1. * p: p pointing S [0], and adds S [0] to 1 as the value of the expression, the output is 1, and S [0] == '1'2. ( * p): p also points to S [0] (s [0] is 1 value 1), and the S [0] adds 1 as the value of the expression, so the output is 2, and S [0] = = '2'3. * ( P): P pointing to s [1], then take the value of S [1] as an expression value, output' 1'4. * P: P pointing S [2 ], Then take the value of S [2] as the value of the expression, output '2'5. (* P) : P or point to S [2], take the value of S [2] as an expression value, Therefore, the output '2', then the value of S [2] is added 1, S [2] == 36. * (P ): p or points to S [2] (now 3), take the value of S [2] As the value of the expression, the output '3' is output, then P point to S [3] 7. * P : P point to S [3], take the value of S [3] as an expression, so output '3', Then P point to s [4]; finally the value of 3322121 this array S is "213345678". So the later output is these values.