Tag: 简称

隐式类型转换:如果一个操作数很短而另一个操作数是char,那么char会转换为short吗?

K&R指出,如果任一操作数是int则另一个操作数将转换为int 。 当然,只有在遵循所有其他规则(如long double , float , unsigned int等)之后。 通过该逻辑,如果另一个操作数是int ,则char将转换为int 。 但是如果操作中的最高整数类型是short呢? 现在,显然我不需要显式地将char转换为更大的整数,但我确实想知道,ANSI-C是否处理了char和short之间的隐式转换? K&R没有透露任何相关信息。 说,我有以下几行代码: char x = ‘x’; short y = 42; short z = x + y; 将x转换为short吗? 或者根本没有转换开始? 只是说清楚:我不是在询问是否或如何从char转换为short 。 我只是想知道隐式类型转换会发生什么。