对 long 的数据输出就不应用 %d ,而应用 %ld 啊.用 %d 输出默认转为普通整形,长整形就失去功效了,只有用 %ld ,才能使长整形完好无缺地输出.
long 支持的范围 没到1500000吧
建议一般溢出的时候就用double
你用 sizeof(long) 看看long到底多大,是不是跟 int 一样大,有的编译器就是这么设置的,这种级别的运算一般不会造成溢出