123456789
int main() { short s = 4; //短整型 int a = 5; //整形 printf("%d", sizeof(s = a + 2)); //这里打印的是 2 ,因为sizeof是通过类型来计算大小的 //s = a + 2 这个表达式的类型是左值的类型,也就是short printf("%d", s); //这里打印的是 5 ,因为sizeof是不计算内部的语句的 //也就是不计算s = a + 2,只推断类型(函数的话,推断类型为其返回值的类型) return 0;}
·知识点 1:sizeof 通过类型计算大小
·知识点 2:sizeof 不计算内部的语句,只推断类型(函数的话,推断类型为其返回值的类型)