上面代码中,b=3,因为double类型的4.0/9.0要小于4.0/9.0的实际值,这是由于浮点型有效位数的限制造成的,所以9*a的值要小于4,赋值给int类型的时候发生截断,因此b=3。 2. 给浮点型数据赋初始值 给浮点型数据赋初始值的时候,如果用表达式赋初始值,如下式: double c=4/9; //c=0,因为4/9小于1,int类型截断...
C语言里,字符型只不过是一种范围较小的int型,所以计算时按照从范围从小到大的顺序进行类型转换,也就是说 char * int = int char + float = float 至于 double - float ,按相同的原则,先自动把float转换为double型,然后再做减法。