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.

posted on 2012-11-02 11:58  吉大依恋  阅读(619)  评论(0编辑  收藏  举报