I am reading Understanding Pointers in c.
I found one program here it is.
#include<Stdio.h>
#include<conio.h>
int main()
{
    static int arr[]={97,98,99,100,101,102,103,104};
    int *ptr=arr+1;
    printf("\nThe base Address is:%u\n",arr);
    print(++ptr,ptr--,ptr,ptr++,++ptr);
    return getch();
}
print(int *a,int *b,int *c,int *d,int *e)
{
      printf("%d  %d  %d  %d  %d",*a,*b,*c,*d,*e);
}
The program is perfect what i think is that it must generate following output: 99 99 98 98 100. But it gives following output: 100 100 100 99 99
I am unable to understand help me to understand it.
 
     
     
    