比如
int a = 100;
a*11111其返回类型为什么类型
一般情况下,C中int所占字节为2个或4个字节,如果是2个最大值就是65535,如果是4个就是2147483647。但是不管是否溢出,返回值都是int类型,首先int类型是默认类型,也就是说,11111是int类型,int+int还是int,望采纳。同时建议对于不确定的数据可以用long,或者longlong
整形 * 整形 不应该是整形么?
同上,不应该是整形么?
数据越界后一般低精度数据将向高精度数据扩展除非做强制转换
这里你要考虑的溢出问题。int代表的是有符号整型,但是其长度只有16位,其中最高位表示符号位,所以它能表示的值范围为
(-2^15~+2^15-1)。当a*b(b也为整型)的结果超过其能表示的范围则出现错误。但在范围内的则没错。
结果最好定义为 long ,整型之间的相乘,容易溢出
int在C语言中是占两个字节的,最大值应该是2的16次方-1,如果得出的值大于该值的话,应该会强制转换,类型就不是int了
如果我没记错的话,int可以是short int或者long int,具体缺省是根据所用编译环境决定的,当然无论是哪个都是整型,具体可以对结果sizeof一下。
就是整形啊,这点数还没到int的溢出
就是int.越界会报错。想那么多干什么
要看另一个整数的大小
只要不超过Int范围都是int类型
只要不存在类型转换,那么结果不管溢出与否,结果都是int
是整形,但int在16位,32位,64位机器分别占2,4,8个字节。就算考虑溢出了,你整形乘以整形,还是整形啊,就算无符号数,也不过是少个符号位,依然整形啊