1

コード出力の下に「A」を入力すると(私のエディタVisual Studio Express 2012)、

あ 65 65 65

ただし、Deitel C How to Program output に示されているこの例は、次のように異なります。

-13247 -858993599 -858993599

なんで?

#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;
}
4

1 に答える 1