You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C++二维数组填充的嵌套for循环工作原理咨询

嵌套for循环填充二维数组的执行逻辑

先看你代码里的数组:double arr[5][3]是一个5行3列的二维数组,行索引范围是0到4,列索引范围是0到2。

循环执行顺序

外层for (int i = 0; i < 5; i++)负责遍历每一行:

  • i=0时处理第0行,i=1时处理第1行,直到i=4处理完最后一行。

内层for (int j = 0; j < 3; j++)负责遍历当前行的每一列:

  • 每进入一次内层循环,就给当前行第j列的元素arr[i][j]赋值为k,随后k自增1。整个过程就是把k从0开始,按先填满一行所有列,再换下一行的顺序,依次给数组元素赋值。

题目中元素的具体值

用表格直观展示数组填充后的完整内容:

行索引\列索引012
0012
1345
2678
391011
4121314

对应题目里的几个元素:

  • arr[0][0]:第0行第0列,第一个被赋值的元素,值为0
  • arr[2][2]:第2行第2列,值为8
  • arr[3][0]:第3行第0列,值为9
  • arr[4][2]:第4行第2列,最后一个元素,值为14

补充说明

C++中二维数组默认采用行优先存储,也就是内存里会先存储第0行的所有元素,再依次存储第1行、第2行……这段代码的遍历顺序刚好和存储顺序一致,所以是按连续递增的数值依次填充。

内容的提问来源于stack exchange,提问作者coffeboi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 23:15:16