这段代码的目的是将数组A中的元素按每k个一组进行逆序排列,然后存入数组B并输出。目前代码的逻辑存在错误,导致B数组的结果不正确。 - 内层循环的索引计算 `A[k-1 +2*i -j]` 有问题。当i变化时,这个表达式不能正确对应到A中每组元素的逆序位置。你需要重新思考如何用i和j来表示每组内元素的原始索引和逆序后的索引关系。 - 外层循环 `for(int i = 0; i < k*p; i+=k)` 的循环次数和步长设置不当。p=12,k=4,k*p=48,但数组A只有12个元素,这样循环会访问越界。你应该让外层循环遍历组数,而不是用k*p作为上限。