c plus plus 编程题 面试题一

OpenHarmony I2C实战:从设备树配置到排障优化 I2C总线作为嵌入式系统中广泛使用的双线串行通信协议,通过SDA和SCL实现主从设备间高效数据交互,其核心原理包括起始停止条件、地址寻址和ACK应答机制。在OpenHarmony设备开发中,I2C驱动配置涉及设备树节点描述、HDI接口调用及用户态工具验证,技术价值在于简化外设连接并提升系统集成效率。典型应用场景包括传感器数据采集、OLED显示驱动和触摸芯片控制等。然而,实际开发中常遇到通信失败、地址冲突和时序问题,需结合硬件检查、设备树调试和逻辑分析仪进行系统化排障。本文围绕OpenHarmony下I2C的 阅读详情

输出 1 - N 之间的所有素数:

method 1:

void prime (int n) {

    for (int i = 2; i < n; i++) {     
        bool b = true;
        for (int j = 2; j < i/2 + 1; j++) {
             if (i % j == 0) {
                 b = false;

                  break;

             }

         }

        if (b) {

             cout << i << " "
        }
  }


也可以 将第2个循环提出,做一个新函数

bool primeNumber( int n) {
    
    for (int i = 2; i < n/2 + 1; i++) {
         if (n % i == 0)
             return false;
    }
    return true;
}

void prime (int n) {

    for (int i = 2; i < n; i++) {     
         if (isPrime(i))  {
              cout << i << " ";
        }
  }

mehod 2 :

method 1是一个比较简单的方法, 但循环次数比较多,方法2 循环次数要少于方法1,但

需要更多的内存。


void prime (int n) {

    int  *value = new int[n]];

// GetSystemTime is a windows api  to get system time.

// GetSystemTime(&firstTime);  


    for (i = 1;  i < n;  i++) {
        times ++;
        value[i] = 1;
    }
    
     
    for (i = 2; i < n; i++) {
        int j = 2;        
        int x = j * i;
        while ((x = j*i) < n) {
            times ++;
            value[x] = 0;
            j++;        
        }
    }

    cout << "prime in array:" << endl;

    for ( i = 2; i < n; i++) {
        times ++;
        if (0 != value[i]) {
            cout << i << " " ;
        }
    }

   delete value;

}






大专生自学嵌入式开发:从入门到求职全攻略 嵌入式系统作为专用计算机系统,广泛应用于智能家居、工业控制等领域,其开发需要掌握C语言、硬件基础及实时操作系统等核心技术。对于初学者而言,理解指针、内存管理等底层概念是关键,而STM32等开发板则为实践提供了理想平台。通过系统学习FreeRTOS和Linux驱动开发,结合智能家居等实战项目,可以全面提升嵌入式开发能力。在求职阶段,合理呈现技术栈和项目经验尤为重要,同时需准备嵌入式特有的面试题型。嵌入式行业更注重实际能力,持续学习新技术如Rust和边缘计算,将有助于职业发展。 阅读详情

相关推荐

单片机秋招实习指南:从模块驱动到RTOS,跨越学生项目与工业开发的鸿沟

在嵌入式系统开发领域,单片机作为核心控制单元,其开发能力是衡量工程师水平的重要标尺。理解其工作原理,需要从C语言的内存管理、指针操作等底层机制入手,掌握外设驱动、中断系统及通信协议(如UART、I2C、SPI)的配置与调试。这些技术构成了嵌入式软件的基础,其价值在于能够实现从简单逻辑控制到复杂实时系统的跨越,广泛应用于物联网设备、工业控制及消费电子等领域。对于即将面临秋招的学子而言,构建扎实的工程能力体系尤为关键。本文聚焦于**单片机开发**与**嵌入式软件架构**,通过拆解企业招聘的真实需求,为读者梳理出

weixin_33853794的博客 403

c plus plus 函数

函数 形式:类型 函数名(形参数表) 类型是函数返回值的类型,若没有返回值则用void。函数定义一次可调用多次。 函数类型:无参数类型,有参数类型(调用时,要给出参数,主调函数和被调函数,可有数据的传递) 注意 没有返回值就不能将函数赋给变量,有返回值才可以,比如s=max(a,b,c); 实参可以是常量或表达式,但要有确定的值,可以先计算再赋值; 函数执行完以后就被清空了,其他函数改变不了...

hill2018212701的博客 2709

30个AI变现实战案例:从内容创作到产品开发,打造你的AI商业闭环

人工智能(AI)正从概念走向广泛的工程化应用,其核心价值在于通过自动化与智能化解决实际问题。理解AI的工作原理,特别是大语言模型(LLM)和生成式AI(AIGC)如何通过深度学习处理信息并创造内容,是将其转化为生产力的基础。这些技术的价值在于显著提升效率、激发创意并降低创新门槛。在应用层面,AI已深度融入内容创作、产品开发、电商营销等多个场景。例如,通过提示词工程(Prompt Engineering)优化工作流,或利用检索增强生成(RAG)技术构建智能知识库,都能创造切实的商业价值。本文聚焦AI变现,提供

virusswb的专栏 388

Cplusplus——一个好用的C语言函数查询网站

Cplusplus 网站是一个非常有价值的 C++ 学习和参考资源网站以上就是今天的内容,本文仅仅简单介绍了Cplusplus的使用,而Cplusplus提供了大量能使我们快速便捷地处理数据的函数和用法t=O83A。

qq_56453652的博客 2371

c-plus-plus

c加号 hackerrank c ++解决方案。

Ubuntu升级遇到grub-efi-amd64-signed安装失败?3步搞定这个烦人错误

本文深度解析Ubuntu系统升级时grub-efi-amd64-signed安装失败并提示“cannot find EFI directory”错误的根本原因。该错误通常由EFI系统分区挂载异常、BIOS/UEFI引导模式不匹配或dpkg包状态死锁导致。文章提供了三步精准修复流程:首先检查并修复ESP分区挂载,其次处理dpkg依赖问题,最后针对传统BIOS系统提供适配方案,帮助用户安全彻底地解决这一常见升级难题。

r7s8t的博客 398

#ifdef __cplusplus

#ifdefined(__cplusplus)||defined(c_plusplus) //跨平台定义方法 extern "C"{ #endif //... 正常的声明段 #ifdefined(__cplusplus)||defined(c_plusplus) } #endif 这段话是啥意思呢!               __cplusplus和c_plusplus这两个宏有定义,说...

longtype的博客 1万+

ADS仿真设计平行定向耦合器学习笔记

ADS仿真设计平行定向耦合器

qq_36521926的博客 1万+

CPlusPlus基础

CPlusPlus基础 const 定义:在声明的变量或参数前加上关键字const用于指明变量值不可修改(如const int foo),为类中的函数加上const限定表明函数(常成员函数)不会修改类成员变量的状态( class Foo {int Bar(char c) const; }; )。 优点: 便于编译器进行类型检测: const常量与#define宏定义常量的区别:~~const常量具有类型,编译器可以进行安全检查;#define宏定义没有数据类型,只是简单的字符串替换,不能进行安全检查。

zhaodeming000的博客 1260

用PyTorch和snnTorch库5分钟搞定一个脉冲神经网络(SNN)手写数字识别Demo

本文详细介绍了如何使用PyTorch和snnTorch库快速搭建一个脉冲神经网络(SNN)手写数字识别Demo。通过模拟生物神经元的脉冲发放机制,SNN在低功耗场景中展现出独特优势。文章涵盖环境配置、数据预处理、模型构建、训练评估全流程,并提供了性能优化技巧和常见问题解决方案,帮助开发者在5分钟内实现高效的SNN应用。

weixin_29300931的博客 392

麒麟银河操作系统V10下ffmpeg的完整部署指南(兼容Linux系统)

本文提供在麒麟银河操作系统V10上从源码编译部署FFmpeg的完整指南,涵盖环境准备、核心依赖库(如x264)编译、FFmpeg本体配置安装、系统集成及常见问题排查。步骤详细,同样适用于Ubuntu、CentOS等主流Linux发行版,帮助用户打造功能强大的多媒体处理工具链。

weixin_29205061的博客 255

c++ 函数

c++函数

qq_55185342的博客 2141

EDEM-fluent耦合时出现的问题及摸索出的解决办法及DPM颗粒信息导出

EDEM-fluent耦合时出现的问题及摸索出的解决办法及DPM颗粒信息导出

zheaa的博客 5749

JZ-C-41-Plus

剑指offer第四十一题-拓展:和为s的连续正数序列:输入一个正数s,打印出所有和为s的连续正数序列(至少含有两个数) 1 //============================================================================ 2 // Name : JZ-C-41-Plus.cpp 3 // Autho...

ajiaoci0000的博客 150

手把手教你学simulink(36.1)--ACAC变换器场景示例:基于 Simulink 的矩阵变换器(Matrix Converter)

矩阵变换器(Matrix Converter, MC)是一种直接将交流电(AC)转换为不同频率和幅值的交流电的电力电子设备。与传统的基于直流环节的变频器不同,矩阵变换器不需要中间的直流环节,而是通过双向开关直接在输入和输出之间进行能量传递。这种结构使得矩阵变换器具有更高的效率、更小的体积和更好的动态响应。在本项目中,我们将使用 MATLAB/Simulink 来建模和仿真一个矩阵变换器,并分析其性能。Simulink 是一个强大的仿真工具,特别适合用于电力电子系统的建模和仿真。

MHD0815的博客 1065

SAP S/4 HANA CO 成本模块实战指南

摘要:SAP S/4HANA CO(管理会计)模块是企业内部成本管理的核心工具。本文系统介绍了CO模块的组织结构(控制范围与会计科目表映射)、基础概念(计划值与预算值)以及6大子模块功能(成本要素、成本中心会计等)。重点解析了各子模块的应用场景与差异,包括成本归集、费用分摊、利润分析和产品成本控制,并对比了利润中心与成本中心、内部订单与销售订单的区别。通过事务代码示例和功能对比表,帮助用户快速掌握SAP CO模块的核心管理逻辑与实施要点。

金牌架构师 1125

小白快速入门:编程初学者如何快速开始撰写代码掌握C语言

速览掌握C语言,需先学习基础语法,如数据类型、运算符、函数等。推荐阅读《C Primer Plus》并动手实践,通过编写简单程序加深理解。详答。

weixin_53767597的博客 684

鸿蒙ArkUI内部API10以及11开发,输入框唤起输入法键盘,页面会被顶起的解决办法

鸿蒙ArkUI内部API10以及11开发,输入框唤起输入法键盘,页面会被顶起的解决办法

zmx781284440的博客 3214

c++服务器笔试题编程_第二节 网易2021届提前批-数据分析师笔试题回顾(2020/08/08)...

写在前面: 有个小小的建议,建议投递简历、参加笔试或者面试的节奏,保持在每周有那么一两次笔试或者面试,这样就像打王者荣耀一样,不会手生,然后做好复盘和整理,结果肯定水到渠成。 想在游戏中最快速度打上王者段位【虽然之前我还只是星耀,还不怎么打,经常掉段】,肯定是得找准定位,有一两个最擅长的英雄和位置,引申到生活中,就是要做好职业规划,集中时间和精力专注于某个岗位和行业,剩下的就是和时间做...

weixin_29461699的博客 748

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

嵌入式秋招备战指南:从核心能力到实战技巧

嵌入式系统开发是连接硬件与软件的关键技术领域,其核心在于对底层硬件资源的直接控制与高效管理。其工作原理基于微控制器或微处理器,通过实时操作系统或裸机程序,实现对传感器、执行器等外设的驱动与数据处理。掌握嵌入式开发对于实现物联网、智能硬件、汽车电子等应用具有重要价值,是构建智能化终端设备的基础。在实际应用中,开发者需精通C语言、理解计算机体系结构,并熟悉常见通信协议。本文聚焦于嵌入式方向秋招求职,系统梳理了企业考察的三大能力维度——基础技术、工程实践与软技能,并针对热门技术方向如MCU/RTOS、嵌入式Lin

weixin_34025051的博客 332

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

嵌入式软件工程师面试一周冲刺:高效刷题与核心考点精讲

在嵌入式系统开发领域,扎实的计算机基础是工程师的核心竞争力。理解操作系统原理、内存管理机制和数据结构算法,是构建稳定高效嵌入式软件的基石。这些技术原理不仅决定了程序的运行效率与资源占用,更直接影响到系统的实时性与可靠性。掌握C语言指针、进程线程调度、TCP/IP协议栈等核心概念,能够帮助开发者深入理解硬件与软件的交互,从而在资源受限的嵌入式环境中进行精准优化。本文聚焦于嵌入式面试中的高频考点,通过系统化的知识梳理与实战训练,为求职者提供一套高效的复习框架,助力快速突破技术面试难关。

weixin_34122604的博客 412

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

初识CPlusPlus(序)

本文,将介绍C++中的引用、函数模版、inline函数、类和对象及其中具体内容,包括构造函数、析构函数等6大函数,拓展的2种函数留到之后再讲。

2302_81342533的博客 1170

C语言 __cplusplus - C语言零基础入门教程

目录 一.__cplusplus 简介 二.__cplusplus 使用 三.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门 一.__cplusplus 简介 __cplusplus 和 extern “C” 一般都是配对使用,我们在阅读程序时,经常会见到__cplusplus 关键字,比如下面的代码: /*********************************************************************

猿说编程 8948

C plus plus ——【继承与派生】

继承与派生是面向对象程序设计的两个重要特性,继承是从已有的类哪里得到已有的特性,已有的类为基类或父类,新类被称为派生类或子类。继承与派生是从不同角度说明类之间的关系,这种关系包含了访问机制,多态和重载等。多重继承是指有多个基类名标识符,其声明形式如下:class 派生类名标识符:[继承方式]基类名标识符1,基类名标识符2,…,基类名标识符n。[访问控制修饰符:][成员声明列表]声明形式中有“:”运算符,基类名标识符之间用“,”运算符分开。

weixin_44759598的博客 1435

__cplusplus 和 __cplusplus__区别

当使用 C++ 编译器编译 C++ 程序时,__cplusplus 宏会被定义。你可以使用条件编译来根据 __cplusplus 宏的定义情况执行不同的代码。是 __cplusplus 的备用宏,用于兼容一些旧版本的编译器。在大多数情况下,你可以直接使用 __cplusplus 宏来判断是否为 C++ 环境。请注意,__cplusplus 宏的值是一个整数,表示 C++ 的版本。不同的编译器可能会定义不同的值,因此在使用时需要注意兼容性。是预定义的宏,用于判断当前编译环境是否为 C++ 环境。

十四 1510

cplusplus网站的使用

在使用C语言编程时,我们会使用到各种各样的函数,有的函数需要程序员自定义,而有的函数却是已经被提前写好引用头文件之后我们直接用就行了,这类函数我们称之为库函数。C语言中的函数很多,想要全部将库函数学完肯定不现实,我们在需要用哪个函数函数的时候再在网站学习即可。对一名程序员来说,自学的能力是很重要的,因为这项技术的更新很快,如果不加学习,很快就会被行业所淘汰。适者生存,物竞天择。除了自己岗位所要求的技术外,还应学习其它的同类技术,使自己的发展更加全面。

2301_81156284的博客 797
上一篇: an android log tool
下一篇: c++ 编程题2
killmice
博客等级 码龄14年 119粉丝 54原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值