by address airthematic...Code:int a[]={0,1,2,3,4}; int *p; for(p=a+4;p>=a;p--) { printf("%d",a[p-a]); puts(""); }
let base address is 100 then a+4=108... because int usses 2 bytes....(100+4*2=108)...
so a[p-a] should be a[8]...
and should be error...
but output is...
4
3
2
1
0
why so please someone explain.....