#include <stdio.h>
main()
{
char a[5] = "abcd";
int b = 3;

printf("%c\n",a[b]);
printf("%c\n",((char *) b)[(int) a]);
}


i get d d as output..
a[3] = d..i get it..

what ((char *)b)[(int) a] doing there...
all i can understand from the above is that it is doing something that is producing lyk i[a] from a[i] type..
wats happening der actually n how is it happening???