int main()
{
int arr[] = {6, 7, 8, 9, 10};
int *ptr = arr;
*(++ptr)= 10;
printf("%d\n", *ptr); //10
printf("%d\n", *(++ptr)); //8
printf("a[0] = %d\n", arr[0]); //6
while(1);
return 0;
}
*(ptr++)= 10;
printf("%d\n", *ptr); //7
printf("%d\n", *(++ptr)); //8
printf("a[0] = %d\n", arr[0]); //10
*(ptr++)= 10;
printf("%d, %d\n", *ptr, *(++ptr)); //8 8
printf("a[0] = %d\n", arr[0]); //10
*(ptr++)= 10;
printf("%d, %d\n", *ptr, *(ptr++)); //8 7
printf("a[0] = %d\n", arr[0]); //10
*(ptr++)= 10;
printf("%d, %d\n", *ptr, *(++ptr)); //8 8
printf("a[0] = %d\n", arr[0]); //10
*(ptr++)= 10;
printf("%d, %d\n", *(ptr++),*ptr); //7 8
printf("a[0] = %d\n", arr[0]); //10
解析:
*(ptr++) = 10;//先*ptr赋值为10,再自加往后移一位
printf输出,从右往左将参数计算出,再依次输出参数