三段伪代码输入不同数组均输出3?编程新手求逻辑解析
伪代码逻辑解析
首先得明确:这段伪代码用的是1-based数组索引(就是数组第一个元素的位置标记为1,不是咱们常见编程语言里的0),执行顺序按步骤走:
- 先给变量
T赋值成数组Z的第1个元素(Z[1]) - 如果数组
Z的长度(Z.SIZE)大于1,就把T加上数组Z的最后一个元素(Z[Z.SIZE],因为长度值刚好对应最后一个元素的1-based索引) - 最后返回
T
对应你给出的三个输入例子,逐个拆解:
输入Z=[1,2]
Z.SIZE是2,满足“大于1”的条件T初始值为Z[1]也就是1- 执行加法:
T = 1 + Z[2] = 1+2=3,最终返回3
输入Z=[1,2,3]
Z.SIZE是3,满足“大于1”的条件T初始值为Z[1]也就是1- 执行加法:
T = 1 + Z[3] =1+3=3,最终返回3
输入Z=[3]
Z.SIZE是1,不满足“大于1”的条件,跳过加法步骤T直接就是Z[1]也就是3,最终返回3
这就是为什么三个输入的结果都是3,核心点就是搞懂这里用的是1-based索引,不是常规的0-based索引。
内容的提问来源于stack exchange,提问作者Girlwhoisnewtocode
相关产品推荐
相关产品推荐

