int main()
{
int b=3;
int arr[]={6,7,8,9,10};
int *ptr=arr;
*(ptr++)+=123;
printf("%d,%d\n",*ptr,*(++ptr));
system("pause");
return 0;
}
输出为 8,8
解析:
int *ptr=arr; 此时ptr指向第一个元素6
*(ptr++)+=123;应为*ptr=*ptr+123;ptr++;此时ptr指向第二个元素,第一个元素变为129
printf("%d,%d\n",*ptr,*(++ptr));从右到左运算,第一个算*(++ptr),ptr指向第三个元素,值为8,
第二个算*ptr同样取第三个元素的值,8.