C语言溢出问题。
C语言溢出问题。
日期:2020-04-26 09:41:09 人气:1
楼上说的已经正确了
c系列语言中
2个数相加
如果类型相同得到的就是原来的类型,否则按照大的计算,比如你说的a+1L
int
和long
就按long计算了,
a+1
1默认是int
所以得到int溢出;特别除法里面明显
int/int
结果还是int
,int/float
就是float
然后要说的
a+1
是按int计算结果已经溢出了
然后才赋值给b
所以错
a+1L按long加是不溢出的
结果也是正常的long
就赋值正确的给b