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

如何从数组末尾开始遍历至开头?C语言循环实现疑问

数组内嵌套反向遍历的实现方案

直接给你修改后的完整代码,同时说明关键细节:

int troca_7(int vector[], int n)
{
    int temp[n];
    for (int i = 0; i < n ; i++)
    {
        temp[i] = vector[i];
        printf("temp[%d] = %d\n", i, temp[i]);
        
        // 嵌套反向遍历循环:从数组末尾遍历到当前i的位置
        for(int j = n - 1; j >= i; j--)
        {
            // 这里可以按需操作原数组vector或者临时数组temp,示例打印原数组元素
            printf("反向遍历元素:vector[%d] = %d\n", j, vector[j]);
        }
    }
    // 根据实际需求补充返回值,示例返回0
    return 0;
}

关键说明

  • 你写的for(int j = n - 1; j >= i; j--)这个循环逻辑是正确的,只要把它放在外层循环内部就能实现需求。
  • 如果需要遍历整个数组从末尾到开头(不局限到当前i的位置),只需把循环条件改成j >= 0。
  • 代码里的变长数组int temp[n]仅支持C99及以上标准,若使用旧编译器,建议改用动态内存分配:
    int *temp = malloc(n * sizeof(int));
    // 使用完记得释放内存
    free(temp);
    
  • 原函数缺少返回逻辑,记得根据实际功能补充返回值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 00:12:09