int x;int y;long z=x*y; 以上代码貌似已经做到处理了溢出,但实际上在x*y时已经发生了溢出,所以即便z是long类型最后结果也会出错。正确的做法应该是 long z=x*1L*y; 今天写一个算法这个溢出地方没注意,结果贡献了WA一次。