TA贡献1818条经验 获得超8个赞
#include<stdio.h>
int main()
{
short n;
printf("sizeof(n)=%d\n",sizeof(n));
long ln=(long)n;
system("pause");
}
以上是运行结果,(long)n只是并没有改变n的类型,你所问的问题实际上前一个n和后一个n都是原来的类型。
TA贡献1829条经验 获得超9个赞
这个要看你n是什么类型的了,假如n是char类型的(long)n 强制转换成long类型,由于前面是long型的,后面的n要与只运算,必须转换成long型才可以参与运算,返回的是一个long类型的值
举报