printf("%o,%o\n",a.c[0],a.c[1]); 你把以上这句语句的"%o"改为"%d"就OK了...可能是你还没接触过"%o"(即:八进制数据类型)"%d"就是我们最常用的"十进制"(逢十进一)八进制是逢八进一的.%d : 0,1,2,...,9,10,11 (0-11总共12个数)%o : 0,1,2,...,7,10,11 (0-7总共8个数+10-11共2=10位数)从以上两个简单例子就可以看清楚不同进制数的区别和原理.你自己创建了一个union体,用union创建了实例:a而且你只对a.k=-7;赋值,没有给a.c[]赋值。所以c[0]和c[1]的值都是随机值,你可以试试。实例:int a ;printf("%d",a);这个a你没有给它赋值,所以结果是一个系统自动产生的随机数。
|