为什么在以下代码中:
short a = 4; char b = 2; cout << sizeof(a/b);
sizeof(a / b)是4?为什么2不如short的大小?
摘自C ++书:
[执行算术运算之前,先进行积分提升用于从较短的整数类型中创建整数。
a/b表达式的类型为int,并且在您的计算机上,int类型的大小可能为4。在您的情况下,sizeof运算符返回表达式类型的大小,即int,即4。操作员返回:
a/b
int
4