设int arr[]={6,7,8,9,10};
int *ptr=arr;
*(ptr++)+=123;
printf("%d,%d",*ptr,*(++ptr));
答案是:8,8
分析:
*(ptr++)+=123;
解释为:*(ptr++)=*(ptr++)+123 //数组第一个元素变为6+123
然后prt++ 指向7
printf("%d,%d",*ptr,*(++ptr));
只能解释为 printf函数从右到左开始处理,所以答案都是8,8
设int arr[]={6,7,8,9,10};
int *ptr=arr;
*(ptr++)+=123;
printf("%d,%d",*ptr,*(++ptr));
答案是:8,8
分析:
*(ptr++)+=123;
解释为:*(ptr++)=*(ptr++)+123 //数组第一个元素变为6+123
然后prt++ 指向7
printf("%d,%d",*ptr,*(++ptr));
只能解释为 printf函数从右到左开始处理,所以答案都是8,8