int main(){
int a[3]={1,10,20};
int *p=a;
printf("%d %d " ,*++p,*p);
return 0;
}
The output to the code above is 10 1 on a gcc compiler.
I understand that *++p increments p and dereferences the new value. But since p has been incremented, why does *p return 1 instead of 10?