#include<stdio.h>
void main()
{
int a,b = 322;
float x,y = 8.88;
char c1 = 'k',c2;
a=y;
x = b;
a = c1;
c2 = b;
printf("%d\n%f\n%d\n%c\n",a,x,a,c2); }
书本上是这样说的 本例表明上述赋值运算中类型转换的规则。a为整形,赋予实型量Y值8.88后只取整数8(这个我能理解也就是a=8)。X为实型,赋予整形值B值为322,后增加了小数部分。(这个我也可以理解 也就是a=322.000000)字符量c1赋予a变为整形(也就是a=107)整型量b赋予c2后取其低八位成为字符型(b的低八位为01000010,即十进制66,对于字符B)(这个完全不懂,怎么取低八位 322怎么就变成66了) 为什么我在编译器编译后结果是
编译器 vc++6.0 教材c语言程序设计 。。。。。。。。。
懵懂中????????
void main()
{
int a,b = 322;
float x,y = 8.88;
char c1 = 'k',c2;
a=y;
x = b;
a = c1;
c2 = b;
printf("%d\n%f\n%d\n%c\n",a,x,a,c2); }
书本上是这样说的 本例表明上述赋值运算中类型转换的规则。a为整形,赋予实型量Y值8.88后只取整数8(这个我能理解也就是a=8)。X为实型,赋予整形值B值为322,后增加了小数部分。(这个我也可以理解 也就是a=322.000000)字符量c1赋予a变为整形(也就是a=107)整型量b赋予c2后取其低八位成为字符型(b的低八位为01000010,即十进制66,对于字符B)(这个完全不懂,怎么取低八位 322怎么就变成66了) 为什么我在编译器编译后结果是

编译器 vc++6.0 教材c语言程序设计 。。。。。。。。。
懵懂中????????

