vs编译器在计算前n项和时为什么会出错?算前99999项和的答案不应该是4999950000么?
数据超过了int类型的范围,所以出错。可以改成long long类型。
long long sum(int k) { long long f = 0; int i = 1; for (; i <= k; i += 1) { f = f + i; } return f; }
printf("%lld",sum(100000));