小卷在统计两本超厚书的总页数。运行下面的程序:
vector<long long> a = {2000000000, 2000000000};
long long s = accumulate(a.begin(), a.end(), 0);
cout << s;
下面哪个说法正确?( )
- A. 没问题,s 是 long long 类型,装得下 4000000000
- B. 一定会溢出,数太大了,怎么写都救不了
- C. 编译不通过,accumulate 不能累加 long long 元素
- D. 会溢出,因为初始值 0 是 int 类型,应把 0 改成 0LL