int y[n]; 这里是错的 你的n不是预定义的 所以不能这样写 必须是准确的正整数
你的思路应该是错的 或者我看不懂- -
我是这样想的
定义一个新数组 比如原来的是 1 2 3 4 5 移动2个
用一个for来 第一个数 1原来的下标是0 那么放到0+2号位去的新数组去
2 1 0+2
到4的时候 3 加个判断 3+2>=5成立 所以减去5 放到0号位 最后用新数组覆盖原数组
mov函数里面你想新建个数组 y, 把移动后的结果放在y里面,最后再移动到原数组里面,但是你最后的 a[n] = y[n] 写错了, c语言里面数组没法直接赋值啊,你得循环一个一个地赋值.