当我输入“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;
}