
答案给的19,实在算不出来为什么得19,请帮我解答一下,到底为什么是这个答案
希望采纳
原因也是数组越界访问导致的。
在这个程序中,内层for循环的条件是j <= i,这会导致对第三行的访问越界。
具体分析过程:
- i = 0, j = 0, s += 1, s = 1
- i = 0, j = 1, s += 2, s = 3
以上访问是正确的,i和j都在数组范围内。 - i = 1, j = 0, s += 3, s = 6
- i = 1, j = 1, s += 4, s = 10
同上,访问正确。 - i = 2, j = 0, s += 5, s = 15
- i = 2, j = 1, s += 6, s = 21
- i = 2, j = 2, s += ??, s = 19 // 此时j超出了数组范围,导致非法访问
你直接敲一遍调试一下 就知道了