Please tell how ch[1] on printing gave answer as 2? : 
#include<stdio.h>

 int main()
 {

	union a
	{
	int i;
	char ch[2];
	};
    union a z={512};
    printf("%d %d %d",z.i,z.ch[0],z.ch[1]);
 }

//Output 512 0 2