过去总以为两个++的区别是他们的返回值不同

int a[]={2,3,4},*p=a;
*p++;//返回* p   ,即2
*++p;//返回*(p+1),即3

实际上,两个++的区别是运算过程中的寄存器储存值的问题,但也许这可以看成“返回值”?

*p++;//将内存中的p取出存储在寄存器中,内存中的p++;*寄存器中的p
*++p;//内存中的p++,将内存中的p取出存储在寄存器中;*寄存器中的p

ref:https://blog.csdn.net/isinstance/article/details/72845703