C语言:a是实型变量,C允许进行赋值a=10,但不可以这样说:实型变量中允许存放整型值。这句话什么意思?

为什么可以赋值a=10?谢谢

因为a是实型变量
实型变量在C语言中用double类型来运算,double类型占用8个字节,而10作为int类型是4个字节,所以把4个字节的东西放到8个字节中,相当于四个人住进了八个人的房间,当然是可以的。但是反过来,把double放到int里就是不行的了。语法上规定实型变量是不能存放整型类型的数据的,整型数据也不能存放实型数据。是为了避免类型转换之间可能会发生的错误。
不会的可以Hi我
鱼C工作室百度官方团队为您解答
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-12-29
因为10是整数,也是实数,或者也可以理解成a = 10.0。
但在内存中整型和以浮点数形式存储的实数的读取方式是不同的,因此整型的10和实型变量a中存储的10不是一个东西……
第2个回答  2012-12-29
double a=10之所以可以进行是因为编译器对10进行了自动的强制转换
从int变为double,并不是在double中存放了int