为什么函数里第二行int nums[len];会报错

o18_99_1 o18_99_1 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
#include<stdio.h>
#include<stdbool.h>

double findMedianSortedArrays(int* nums1, int nums1Size, int* nums2, int nums2Size){
    int len = nums1Size + nums2Size;
    int nums[len];
    int i = 0,j = 0,k = 0;
    while(i < nums1Size || j < nums2Size){
        if(nums1[i] < nums2[j]){
            nums[k++] = &nums1[i++];//运行之后k,i+1
            // k++;
        }else{
            nums[k++] = &nums1[j++];//运行之后k,j+1
            // k++;
        }
        if(k <= len/2+1){//到达一半时退出不在写入nums
            break;
        }
    }
    //防止有遗漏
    while(i < nums1Size){
        nums[k++] = nums1[i++];
        // k++;
        if(k <= len/2+1){
            break;
        }
    }
    while(j < nums1Size){
        nums[k++] = nums1[j++];
        // k++;
        if(k <= len/2+1){
            break;
        }
    }
    //判断数组长度奇偶
    double result;
    if(len % 2 == 0){
        result = (nums[len/2-1] + nums[len/2])/2.0;
    }
    else
    {
        result = nums[k];
    }
    printf("%.2f",result);
    
    return result;
}
int main(int argc, char const *argv[])
{
    int nums1[] = {1,2},nums2[] = {3};
    int size1 = sizeof(nums1)/sizeof(int);
    int size2 = sizeof(nums2)/sizeof(int);
    findMedianSortedArrays(nums1,size1,nums2,size2);
    return 0;
}

 

...全文

相关推荐

Go可变参数函数:原理、性能与工程实践

可变参数函数是Go语言中支持动态参数数量的核心机制,其本质是编译期声明+运行时切片封装的零开销抽象。它基于严格的调用约定(仅允许末尾参数)、类型安全的...T语法和底层slice header实现,在保持高性能的同时解决日志、配置、事件分发等高频场景的灵活性需求。相比反射或interface{}泛化,原生...T避免运行时类型转换,而Go 1.18泛型进一步消除interface开销,使类型安全与性能兼得。本文深入解析其设计原理、典型误用、性能陷阱及生产级落地模式。

weixin_34221112

Python map函数底层原理:惰性迭代器与函数式数据流设计

map是Python中实现函数式编程的核心内置函数,其本质并非for循环的语法糖,而是一个返回惰性迭代器的高阶函数。它基于‘最小可信接口’设计哲学,延迟执行、不修改原数据、不预检异常,从而在内存控制、错误定位和流式处理中展现出独特工程价值。理解map的iterator行为、多参数对齐机制及与list comprehension的性能边界,是构建可维护数据管道的基础能力。本文结合CPython源码、真实金融/IoT/电商场景,深入剖析map在大文件解析、ETL链路、错误容错等工业级实践中的关键作用。

weixin_33762130

Python map、zip、filter 三大函数实战精讲:从for循环升级数据处理思维

在Python数据处理中,map、zip、filter是支撑函数式编程思想的核心内置函数,它们基于惰性求值机制,分别实现元素级转换、多序列配对与条件筛选三大基础操作。其底层返回迭代器,兼顾内存效率与链式组合能力,广泛应用于API响应解析、日志清洗、CSV/JSON数据预处理等工程场景。相比传统for循环,它们将‘如何做’的指令式逻辑升维为‘我要什么’的声明式表达,显著提升代码可读性与可维护性;结合operator.itemgetter、functools.partial及itertools工具,还能进一步优

weixin_34319817

Python filter函数:从基础筛选到生产级函数式编程

filter()是Python中实现声明式数据筛选的核心内置函数,其本质是基于迭代器协议的惰性求值机制,通过接收判断函数与可迭代对象,返回满足条件的元素迭代器。它并非for循环的语法糖替代,而是工程思维升级——将业务规则(what)与执行流程(how)解耦,显著提升代码可读性、可测试性与可维护性。在数据清洗、日志分析、ETL流水线等场景中,结合map/reduce或itertools工具链,能高效处理百万级数据且内存友好。本文深入解析filter的底层原理、典型误用陷阱及生产环境加固方案,助开发者真正掌握这

weixin_34375251

Python map函数详解:惰性求值、函数式编程与实战避坑指南

map是Python内置的高阶函数,属于函数式编程核心原语,本质是将指定函数批量、无副作用地作用于可迭代对象的每个元素,返回惰性求值的迭代器。其原理区别于for循环(声明式 vs 指令式)、列表推导式(延迟计算 vs 即时生成)及NumPy向量化(异构数据通用性 vs 同构数值高性能)。技术价值在于提升代码可读性、降低维护成本、节省内存开销,尤其适用于大数据流处理、API响应清洗、日志逐行解析等场景。本文深入剖析map的参数机制、单次消费特性、错误传播行为及与filter/reduce的协同范式,结合手机号

cqbh2011
评论 10
收藏 已收藏
分享
返回顶部
o18_99_1
C语言 70,039 成员 243,237 内容