范围其实都是64位,但要注意,printf的%lld的标准在WIndows平台可能不兼容,因此会出现这种情况。而%I64d完全是微软出的,可以兼容于Windows平台所以你如果想保证输出不出错,还是摒弃printf改用cout吧