int arr[]={6,7,8,9,10};
int *ptr = arr;
*(ptr++) += 123;
printf("%d,%d\n",*ptr,*(++ptr));
第1行定义一个数组,sizeof(arr) = 4*6 = 24
第2行定义一个int型的指针,指向arr,即指向数组的首地址,sizeof(ptr) = 4;
第4行对指针操作,先*ptr += 123,此时ptr指向的值为129,即数组arr的第一个元素被修改为129;
再ptr+1,指向数组arr的第二个元素7
第6行输出元素的值。先++ptr,指向数组的下一个元素8,然后输出值,此时指针ptr指向元素8,即输出8,8
以上是程序执行的顺序,显示了对++操作的理解以及指针的操作,另外,对于最后一句printf语句中,为何先执行加再输出,不是很理解
请了解的朋友留言,谢谢