这段代码的功能是:读取12个整数存入数组,然后对数组中的三组元素进行对称交换,最后输出结果。具体来说,它交换了索引0-3、4-7、8-11这三段内的元素,但每段只交换前两个和后两个(即每段内两两对称交换)。 你的代码中有两个问题: - 在第三个交换循环中,索引计算 `19 - i` 是错误的。当 `i` 从8到9时,`19 - i` 会得到11和10,但你需要的是与 `i` 对称的索引,应该基于该段的起始和结束位置来计算。 - 输出条件 `if (i != 9)` 会导致在索引9后面缺少空格,但其他位置正常。检查一下你希望输出的格式是什么,这个条件可能不符合你的预期。