#include<stdio.h>
int main()
{
unsigned int a=0xabcdef12;
char *c=(char *)&a;
int i;
for(i=0;i<4;i++)
{
printf("%x.....%x\n",*c,c);
c++;
}
return 0;
}
O/p:
12.....bfad5bd4
ffffffef.....bfad5bd5
ffffffcd.....bfad5bd6
ffffffab.....bfad5bd7
If you see during first print, it is printing 12 but in all the subsequent prints it is printing correct values but padded with ffffff. Can someone explain this difference??