原帖由 [bold][underline]cosdos[/underline][/bold] 于 2007-11-27 14:12 发表 [url=http://bbs.bc-cn.net/redirect.php?goto=findpost&pid=1117180&ptid=188720]

[/url]
printf("%x\n", a.k);
a.k 没有被赋值,所以输出的数据无法确定。
a.k = 0xEC28;
printf("%x\n", a.k);
/* 以十六进制输出数字*/
#include <stdio.h>
void main()
{
union
{
int
k;
char
i;
}a;
a.k=86;
printf("%c\n", a.i);
}
#include <stdio.h>
void main()
{
union
{
int
k;
char
i;
}a;
a.i='V';
printf("%c\n", a.k);
}
呵呵有区别
int 的 空间比 char的大 所以对char赋值时 int是不定的
可对int赋值时char是确定的 这样解释对不啊????