分享一个小知识!!!
int main( )
{
short s = 5;
int a = 4;
printf("%d\n", sizeof(s = a + 6);
printf("%d\n", s);
return 0;
}
第一个打印出来的是2。
第二个打印出来的是5。
为什么呢?????
因为sizeof()里面是一个表达式,表达式又分为值属性和类属性。
虽然sizeof()里面的a+6的结果是int型,但是结果放在s里面,而s是short型--2个字节,最终表达式的结果s说了算。
sizeof()里面是一个表达式,内部的表达式是不计算的!