When I enter 'A', below code outputs(my editor Visual Studio Express 2012) ,
A 65 65 65
but this example given in Deitel C How to Program output is different such as:
A -13247 -858993599 -858993599
Why?
#include <stdio.h>
union dummy {
  char c;
  short s;
  int i;
  long l;
} a;
int main(void) {
    printf("Enter a character\n");
    scanf("%c", &a.c);
    printf("%c printed as a char is %c.\n", a.c, a.c);
    printf("%c printed as a short is %hd.\n", a.c, a.s);
    printf("%c printed as an int is %d.\n", a.c, a.i);
    printf("%c printed as a long is %ld.\n", a.c, a.l);
    getch();
    return 0;
}
 
     
    