顺时针螺旋向内赋值T^T失败了求看看

img

img

img


目的:顺时针螺旋向内复制,每赋一行或一列,赋的数值加一。例如

img


结果偏差:第二行不能正常赋值
如图

img


求看看 •᷄ࡇ•᷅

最终原因是二维数组在逻辑上是二维的,但是在内存中,各元素是连续存放的,不是二维的,是线性的

我自己发现问题啦(σ≧︎▽︎≦︎)σ。给大家分享一下

img


如图,判断第一行的第n+1列是否为零时,实则在判断第二行第一个是否为零,那么就会把第二行第一个赋值为1。自然而然第二行就不能正常赋值了,赋值就在第三行“拐弯”了。
原因是二维数组在逻辑上是二维的,但是在内存中,各元素是连续存放的,不是二维的,是线性的。
自问自答●▽●