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?
 
     
     
     
    