以下是引用blackorchis在2007-10-29 16:45:15的发言:
在C语言中存在数据类型转换的问题,如:
int i = 1;
float f = 2.0, c;
c = i + f;
现假设在TURBO2下,int占两个字节,而float占四个字节,那么,在执行表达式c = i + f;时,i会转换成浮点型,是应该理解为i的值的拷贝转换成浮点型呢?还是应该理解为i的值转换成浮点型呢?因为如果是前者的话,变量i所占的存储空间不会变,如果是后者的话,则i所占的存储空间要扩展为四字节了。请大家多多指点!谢谢。
在C语言中存在数据类型转换的问题,如:
int i = 1;
float f = 2.0, c;
c = i + f;
现假设在TURBO2下,int占两个字节,而float占四个字节,那么,在执行表达式c = i + f;时,i会转换成浮点型,是应该理解为i的值的拷贝转换成浮点型呢?还是应该理解为i的值转换成浮点型呢?因为如果是前者的话,变量i所占的存储空间不会变,如果是后者的话,则i所占的存储空间要扩展为四字节了。请大家多多指点!谢谢。
只是引用的时候变成了浮点型,离开那个表达式,i还是整型。也就是说i的值是不可能被改变的。更不用说是存储空间了
学好C++