ShujiaHuang / Cpp-Primer-Plus-6th

《C++ Primer Plus 第6版(中文版)》原书代码、习题答案和个人笔记,仅供学习和交流。
2.35k stars 500 forks source link

编程练习5.2,有数组下标越界问题。 #9

Open linfzl opened 8 months ago

linfzl commented 8 months ago

for 循环中 i 最大值为 100,而数组 factorials 大小就是 100 ,从 0 开始算,最大是 99,找不到factorials[100]; ar_size改为101就好了,原书的程序清单5.4也是,size是16,最后输出15的阶乘。

include

using namespace std; const int ArSize = 16;

int main() { long long factorials[ArSize]; factorials[1] = factorials[0] = 1LL; for (int i = 2; i < ArSize; i++) { factorials[i] = i * factorials[i - 1]; } for (int i = 0; i < ArSize; i++) { cout << i << "! = " << factorials[i] << "\n"; } return 0; }