Following code when executed, prints out a smiling face (ASCII equivalent of integer 2), but when the format specifier in printf is changed from %c to %d, it does not print integer 2. Any reasons why....
main()
{ int i;
int *c; char b[10]={1,2,3,4,5,6,7,8,9,0 };
c=&b[1];
printf("\n%c",*c);
}