1.自动类型转换
short,char->int->unsigned int->long int->unsigned long int->float->double->long double
具体:
char c='a';
short s=100;
s+c; //表达式类型为:int(char+short->int)
int i=200;
i+c;//表达式类型为:int(char+int->int)
unsigned int u=60000;
u+i;//表达式类型为;unsigned int(unsigned int+int->unsigned int)
long l=100000;
l+i;//表达式类型为:long(long+i->long)
float f=1.2345;
f+l;//表达式类型为float(float+long->float)
double d=1.2345;
d+f;//表达式类型为double(double+float->double)
书中错误:
f+f;//表达式类型为double(float+float->double),f+f实际上还是float,4字节,double8字节