c语言基础,数组,函数,二分查找,双指针,运算符区别

2013腾讯研发工程师笔试题解析:C/C++数组指针与操作系统高频考点 在技术面试与笔试准备中,扎实的计算机基础始终是应对各类大厂考核的核心竞争力。以经典的腾讯笔试题为例,其命题逻辑往往围绕C/C++语法细节、数据结构操作、操作系统原理与计算机网络协议展开。理解数组与指针在内存布局上的本质区别,掌握链表反转与二叉树遍历的边界处理,熟悉进程线程模型及TCP状态迁移,都是高频考查方向。这些基础概念不仅适用于历史真题,更贯穿于现代服务端开发与Linux环境下的工程实践。从底层原理出发,结合典型真题拆解与答题策略,能够帮助求职者建立系统的知识框架,做到以不变应万变。本文以2013年腾讯 阅读详情

C语言笔记

适用:C语言基础、数组、函数、二分查找、双指针动画、运算符区分

一、运算符核心区分(高频坑点)

  1. = 和 ==

  2. = 赋值运算符:把右边的值,存到左边变量

有时候它定义时候的赋值是有意义的,大多数情况定义赋值为0不影响,因为后面会重新赋值覆盖它。但是如果定义赋值与后续的判断条件有关,那么就要注意了。就像那个第一位是打印数字一样。

int a = 5; // 将5赋值给a
int flag = 1;// flag=1代表真

  1. == 关系运算符(判断相等):比较左右两边,返回1(真) / 0(假)

c

if(a == 5) {} // 判断a是否等于5
if(flag == 0){} // 判断flag是否为假

❗易错:if里面千万别写成 if(a=5) ,这是赋值不是判断!

  1. 关系表达式(布尔表达式)

形如 num % 2 == 0 ,用来做真假判断。
C语言没有单独bool类型,非0就是真,0就是假。
可以直接把判断结果赋值给变量,用来保存状态。

int is_even = (num % 2 == 0);
// 如果num是偶数,is_even=1;奇数则is_even=0
if(is_even) // 等价 if(is_even != 0),简化写法

二、数组【重中之重,最容易混淆】

口诀:定义时给总数,访问时给位置
正真起作用的是下标

  1. 定义数组 int arr[5]
    [5] 代表数组大小:一共可以存放5个int元素
    下标范围: 0,1,2,3,4
  2. 访问数组 arr[3]
    [3] 代表下标(索引),取数组里第4个元素。

核心区分:

  • 写在变量定义那一行的 [] :数组容量(元素总个数)
  • 定义完成后,代码里 arr[下标] :访问对应位置元素

技巧:下标不从0开始(人为空出arr[0])

目的:贴合现实编号,避免频繁 下标 = 编号-1
//问月份的时候 int arr[13]={0,31,29,31,30,31,30,31,31,30,31,31,31};

// 星期示例
char *week[] = {“”, “星期一”, “星期二”, “星期三”, “星期四”, “星期五”, “星期六”, “星期日”};
// week[1]直接是星期一

// 扑克牌
char *poker[] = {“”, “A”,“2”,“3”,…,“J”,“Q”,“K”};
// poker[1]=A,poker[13]=K

//学生成绩,学号1001开始
float scores[1010] = {0};
scores[1001] = 90; //学号1001的成绩

数组名知识点回顾

  • 一维数组数组名 arr = &arr[0] ,首元素地址, scanf 不用加 &
  • arr[i] 是单个元素,是数值, scanf 输入时必须写 &arr[i]
  • 二维数组也一样 &arr[i][j];

三、函数知识点

  1. 函数参数传递

  2. 值传递:函数内部修改形参,不会影响外面原始变量

  3. 地址传递(指针):传变量地址,函数内部可以修改外部变量

c

void swap(int *a, int *b) {
// 交换两个数,地址传递
}

  1. 函数声明 vs 函数定义
  • 函数声明:告诉编译器函数存在,写在main前面
    int add(int, int);
  • 函数定义:函数的完整代码实现({}里面逻辑)

规则:如果函数写在main函数后面,main前面必须写函数声明

  1. 函数返回类型

① void 类型:无返回值

只执行动作,不需要return返回数据

void print_menu(){} //打印菜单
void swap(int *a, int *b){} //交换变量

② 非void类型(int/float/char*):必须return对应类型数据

int is_leap(int year){} //返回1/0,判断闰年
float calculate_area(float r){} //返回面积
char *get_greeting(){} //返回字符串指针

自定义函数和void没有必要的联系,一切一解决问题为导向。
4. 返回值4种用途

  1. 判断真假: is_leap 返回1是闰年,0不是

  2. 返回计算结果: add(a,b) 返回a+b

  3. 操作状态(成功/失败):返回0成功,-1失败

  4. 返回资源指针: fopen 返回文件指针FILE*

  5. 递归

函数自己调用自己,必须有终止条件。
适用:阶乘、斐波那契、分治类问题

int factorial(int n) {
return n <= 1 ? 1 : n * factorial(n-1);
}

C语言不支持函数重载(重载是C++特性)

四、算法模板

模板1:二分查找(猜数字,有序序列查找)

核心:不断取中间值,缩小查找区间,前提:数据有序

二分查找5步

  1. 初始化边界:low左边界,high右边界
  2. 循环条件 while(low <= high)
  3. 计算中间值 mid = (low + high)/2
  4. 比较,缩小区间
  • mid > 目标 → high = mid -1
  • mid < 目标 → low = mid +1
  • mid ==目标 →找到,break退出循环
  1. 输出结果
    第4步就是保证每一次都做有用功
    完整代码模板

#include <stdio.h>
int main()
{
int price = 300;
int low = 0;
int high = 1000;
int guess;
while(low <= high)
{
guess = (low + high)/2;
printf(“我猜价格是 %d 元!\n”, guess);
if(guess > price)
{
printf(“高了!\n”);
high = guess - 1;
}
else if(guess < price)
{
printf(“低了!\n”);
low = guess + 1;
}
else
{
printf(“猜对了!价格就是 %d 元!\n”, guess);
break;
}
}
return 0;
}

模板2:双指针动画【两端向中间汇聚字符串】

左指针left从0往右;右指针right从末尾往左,双向填充字符

c

#include <stdio.h>
#include <string.h>
#include <windows.h>
int main()
{
char arr1[] = “welcome to bit!!!”;
char arr2[] = “####################”;
int left = 0;
int right = strlen(arr1)-1;
while(left <= right)
{
arr2[left] = arr1[left];
arr2[right] = arr1[right];
printf(“%s\n”, arr2);
Sleep(500);
system(“cls”);
left++;
right–;
}
printf(“%s\n”, arr1);
return 0;
}

注意:Linux平台把 Sleep() 换成 usleep() , system(“cls”) 换成 system(“clear”)

五、典型例题代码:奇偶判断(标记变量写法)

c

#include <stdio.h>
int main()
{
int num;
printf(“请输入一个整数:”);
scanf(“%d”, &num);
// 关系表达式赋值给标记变量
int is_even = (num % 2 == 0);
if(is_even == 1)
{
printf(“%d 是偶数。\n”, num);
}
else
{
printf(“%d 是奇数。\n”, num);
}
//简化写法
if(is_even)
{
printf(“简化判断:这是一个偶数。\n”);
}
return 0;
}

六、错题坑点汇总(单独记)

  1. 数组定义 [] 是容量;访问 arr[i] 中 i 是下标,不要搞混
  2. = 赋值, ==判断相等 ,if里面极易写错
  3. 二分查找循环条件是 low <= high ,不是 < ,漏掉等于会漏掉边界值
  4. 函数定义在main之后,必须写函数声明
  5. VLA变长数组:定义数组时方括号写变量才是VLA;访问下标用变量不是VLA
  • ✅ int arr[10]; arr[i]; 普通访问,C89支持
  • ❌ int n; int arr[n]; 变长数组,C99才行
跨语言数组深度对比:从底层原理到工程实践 数组是编程语言中最基础的复合数据类型,也是连接硬件内存与上层业务逻辑的桥梁。理解数组索引为何从0开始,掌握其背后的内存寻址设计,才能真正看懂不同语言中数组的迥异表现。C/C++的数组直接映射连续内存,Java的数组自带越界检查,Python的list本质是对象容器,JavaScript的Array则灵活到可以存储任意类型。本文从数组的底层原理出发,对比主流语言的实现方式与隐藏坑点,覆盖指针数组、二维数组、数组越界、数组去重等高频操作,并结合字符数组、KMP算法next数组和树状数组等经典应用场景,帮助开发者 阅读详情

相关推荐

欢聚时代2017校招C基础笔试题解析:指针、内存与字符串考点全攻克

C语言作为服务器开发的核心语言,其底层原理(如指针运算、内存布局)直接影响高并发系统的稳定性。指针与数组的步长计算、字符串操作的越界风险、结构体字节对齐的规则,往往是笔试中区分基础是否扎实的关键。本文以欢聚时代2017校招C基础类A卷为例,系统梳理了指针、内存管理、字符串、链表等高频考点的命题思路与解题技巧,并结合典型真题还原拆解过程。同时从备考方法论出发,给出三轮复习法与考场答题节奏建议,帮助读者将一套经典笔试题转化为完整的知识体系,从容应对C/C++相关岗位的校招笔试与技术面试。

weixin_34228387的博客 278

代码随想录算法训练营第1天 | 数组理论基础,704. 二分查找,27. 移除元素

代码随想录算法训练营第一天 | 数组理论基础,704. 二分查找,27. 移除元素

zxjiaya的博客 941

直击高频编程考点:数组知识及经典算法题总结

数组基础、应用以及编程练习(找到数组 A 元素组成的小于 n的最大整数+两数之和 +三数之和 +最接近的三数之和+移动零 +旋转数组+搜索旋转排序数组 +寻找旋转排序数组中的最小值 +加一 +存在重复元素 +寻找数组的中心索引+翻转对 +只出现一次的数字+合并两个有序数组+合并区间+最大子序列+最长连续递增序列+最长公共前缀+移除元素+除自身以外数组乘积+颜色分类)

曾经“等你生日那天”都遥远得像未来,如今却可欢愉的挥手说“下个十年见” 6万+

代码随想录算法训练营第一天 | 704. 二分查找、27. 移除元素

代码随想录算法训练营第一天| 704. 二分查找、27. 移除元素

北天的博客 1158

cosi-corr操作详细步骤

cosi-corr是一个可以加载到ENVI的软件包,由加利福尼亚理工学院的François Ayoub,  Sébastien Leprince,  and Lionel Keene开发,并且提供源代码,该软件受到了NSF的资助。软件的主要功能是可以满足各种影响的正射校正和影像配准。 针对下载下来的软件包参考《cosi-corr_guide.pdf》,进行配置使用具体详细过程如下: (本机环境

u013299471的专栏 1万+

保姆级教程:用Python 3.10和Ollama在Windows上搞定LightRAG本地部署(附环境配置避坑指南)

本文提供了一份详细的Windows系统下LightRAG本地部署指南,涵盖Python 3.10环境配置、Ollama模型服务安装到LightRAG核心组件部署的全流程。特别针对Windows平台常见问题提供解决方案,帮助开发者快速搭建高效的检索增强生成(RAG)系统,实现专业领域知识的智能检索与整合。

weixin_28725407的博客 498

代码随想录刷题1-数组

细节错误太多了:1.数组赋值的用的是{}而不是[]2.数组在初始化的时候可以赋值整个数组,而除了初始化赋值得一个元素一个元素赋值3.return[a,b]这是非法语法。s返回它的指针(因为局部变量在函数结束后会被销毁)。正确的方法是动态分配内存来存储结果。正确解法:总结:还是得习惯malloc的使用,动态分配内存对于指针,注意这样分配后是可以直接写reuslts[0]的注意这个题目:`vector`是一个动态数组,它能够根据需要改变大小。它类似于数组,但更灵活,因为数组的大小在声明时是固定的,而`vecto

Hhjsjsjhdjdjd的博客 318

遥感目标检测数据集汇总

文章目录1. 光学数据集1.1 DIOR1.2 LEVIR1.3 DOTA1.4 RSOD1.5 NWPU VHR-101.6 VEDAI1.7 COWC1.8 ITCVD1.9 DIUx xView 20181.10 HRSC20161.11 TAS1.12 SZTAKI‐INRIA1.13 UCAS AOD1.14 DLR 3K Vehicle2. SAR2.1 SSDD2.2 SSDD+2....

quanwei的博客 6万+

C++刷题记录-数组篇(相关语法及部分代码)

如果你不指定初始值,向量的元素将不会被显式地初始化,它们的值将是未定义的。这意味着这些元素可能包含任何值,这取决于内存在向量被创建时的状态。使用未初始化的值可能会导致程序行为不可预测或产生错误。

2401_83908054的博客 1673

遥感大模型的深度学习从CNN到Vision Transformer以及混合架构的演进之路

深度学习,特别是以卷积神经网络(CNN)和Transformer为代表的“大模型”技术,正以其强大的表征学习能力,深刻地重塑着遥感智能解译的整个技术栈与认知范式。本文将系统性地梳理遥感大模型从局部卷积的奠基,到全局注意力的革命,再到二者融合的混合架构演进这一波澜壮阔的历程。我们将深入剖析每个阶段的核心技术原理,结合遥感数据特性与实际应用案例,详细阐述其在分类、检测、分割等核心任务中的具体应用。

panshengwu的博客 1142

github创建账号第一步始终出错

github创建账号总结:第一次注册GitHub,填好用户名邮箱密码后进入下一步就卡在哪里,上面还提示Unable to verify your captcha response等,进入网址的解决办法以及下载其他的浏览器也无法解决,用手机浏览器抱着试一试的心态竟然成功了,分享给大家。手机下载谷歌浏览器,进入GitHub正常注册,能向下继续,邮箱验证完以后再用电脑登陆就ok啦

计算机毕业论文源码,学生个人网页制作html源码。贴近用户做网络推广和互联网优化。 4377

快手2020秋招工程C笔试考点全解析:从C语言基础到系统编程

在互联网大厂校招中,C语言基础与底层原理的扎实程度往往是区分候选人的关键。从指针运算、数组退化到内存布局与动态分配,再到字符串处理与数据结构手写实现,这些基础能力直接体现工程师的工程素养。系统编程中的进程线程、文件I/O与编译链接知识,更是后端与客户端岗位的高频考点。本文以快手2020秋季校园招聘工程C笔试卷为线索,完整拆解其考察逻辑、核心题型与常见陷阱,并给出备考建议,帮助求职者建立从语法细节到工程实践的系统化复习路径。

weixin_30835649的博客 310

月薪30k+的工业视觉,必备Java+YOLO技能(工业级落地全拆解)

30k+工业视觉岗的核心不是算法调参,而是用Java把YOLO落地到工业场景的能力——稳运行、能对接、可管理是高薪的核心壁垒;必备技能分五层:模型工业级适配、Java推理核心、SpringBoot后端、工业部署运维、场景适配,每层都要练到“能落地、能讲清、能避坑”;学习路径的核心是“实战驱动”:不要只学理论,从一个完整的工业项目(如锂电缺陷检测)入手,练完就能对标高薪岗。

2601_94871597的博客 526

C/C++大厂笔试通关指南:京东真题考点与陷阱详解

C语言作为底层开发的基石,其指针、内存管理、字符串处理等知识点历来是互联网大厂校招笔试的核心考察方向。理解while与do-while在边界条件下的执行差异、掌握sizeof与strlen的底层区别、熟悉文件读写操作中的常见陷阱,是构建扎实C语言能力的关键。此外,数据结构与算法中的冒泡排序、迪杰斯特拉最短路径等经典问题,也频繁出现在笔试中,考察候选人的逻辑思维与工程实践能力。本文以京东2019校招C/C++开发工程师笔试题为样本,系统拆解考察逻辑、常见失分点与答题思路,帮助你从基础概念到工程应用建立完整认知

weixin_34414650的博客 442

LangChain .NET:C#开发者构建AI应用的RAG框架与实战指南

大语言模型(LLM)作为当前人工智能的核心技术,通过深度学习海量文本数据,掌握了强大的语言理解和生成能力。其原理基于Transformer架构,通过自注意力机制捕捉长距离依赖关系,从而实现对复杂语义的建模。这一技术价值在于能够将非结构化的自然语言转化为可计算、可推理的表示,为各类智能应用提供认知基础。在实际工程实践中,LLM常被应用于构建检索增强生成(RAG)系统和AI智能体(Agent)。RAG通过结合外部知识库检索与LLM生成,有效提升了问答的准确性和事实性,是构建企业知识库、智能客服等场景的关键技术。

weixin_42538175的博客 706

芯片工程师-必须掌握的linux操作-第一讲

一个从材料专业,转行芯片验证初级工程师,自己也是从0基础开始学习入门,更知道0基础的人应该怎么去学习。 现在工作三个多月了,特地花时间给大家写这篇文章。希望能关注、支持下。 为什么芯片验证工程师必须要学习linux命令? 答: ① 芯片工程师主要的职责,就是与IC设计工程师和系统工程师密切合作,开发验证平台,能够根据项目要求产生测试计划,产生代码及功能覆盖率,撰写验证报告。 ②简单点说,主要工作内容,是编写代码去验证设计的对不对。 那么问题来了,编写代码,在什么环境呢,我现在告诉你,都是在linux系统中进

小白蒋-材料转行芯片验证 4843

深信服校招C/C++软件开发C卷笔试考点剖析与备考指南

C/C++软件开发岗位的校园招聘笔试,向来是考察候选人工程基础与编程功底的重要关卡。这类笔试通常覆盖语言语法、内存管理、数据结构、操作系统、计算机网络及Linux操作等多个核心模块,要求应聘者不仅理解概念,更要能熟练运用其底层原理解决实际问题。扎实掌握指针与内存布局、虚函数多态机制、经典数据结构与算法,以及进程线程、TCP/IP等关键知识,是提升技术价值、应对工程实践挑战的基础。从通用技术能力出发,将理论融入真实开发场景,是备战各类名企笔试的有效路径。针对深信服校园招聘的C/C++软件开发C卷,其题型设计与

weixin_34152820的博客 417

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

搜狗测开笔试编程题全解析:字符串、数组与测试思维

在软件测试开发岗位的校招笔试中,编程能力与测试思维的结合始终是核心考察点。无论是字符串处理中的字符统计与反转,还是数组操作中的双指针与原地修改,这些基础编码题背后都隐藏着对边界条件、极端输入和异常场景的考量。测试工程师不仅需要写出正确代码,更要具备预判程序在何处会崩溃的能力,这正是测试用例设计思维在编码中的延伸。排序查找中的二分变体、快排边界等经典问题,同样考验候选人对算法底层逻辑的严谨理解。本文以搜狗秋招测试工程师笔试为切入点,系统梳理常见题型与易错点,帮助备考者建立从编码基本功到测试思维的完整框架,为应

weixin_30455023的博客 331

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

360校招笔试真题解析:C/C++内存与算法实战

在研发岗位的校招与社招中,C/C++语言基础、内存管理、数据结构与算法、操作系统和计算机网络始终是考察的核心。理解指针与数组的本质区别、sizeof与strlen的运行机制、static的多种作用以及内存对齐规则,是写出健壮代码的前提。同时,二叉树重建、KMP匹配、链表环检测等经典算法,不仅检验逻辑思维,更直接映射到工程实践中的性能与稳定性问题。而进程线程、死锁、TCP握手等系统知识,则是排查线上故障的必备技能。这些基础概念与原理,构成了软件工程师的技术底座,广泛应用于系统开发、网络编程和高并发场景。本文以

weixin_30920597的博客 294

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

一维数组去重的常用方法

小总结,一维数组去重方法!

xxwl585的博客 382

LeetCode刷题-C++

1.2 内联函数 参考【C++】之内联函数(inline)申明 2.1 inline函数需要支持调试, 在debug版本下内联函数一律都是call函数地址, 想要观察inline函数在调用处展开需要在release版本下观察概念 2.2 用inline修饰的函数叫做内联函数,编译时C++编译器会在调用内联函数的地方展开,没有函数压栈的开销特征 2.3 内联函数是一种以空间来换取时间的做法,省区调用函数的额外开销,内联函数会直接在函数调用处把原函数拷贝过来,所以如果函数代码很长或者很复杂,不适合转变为内

qq_20553359的博客 2033

Java数组详解:内存模型、初始化、算法与面试题

数组是Java中最基础的数据结构,本质上是连续内存中的引用类型对象。理解数组的声明、创建与初始化过程,是掌握Java内存模型的关键一步。借助Arrays工具类,开发者可以高效完成排序、复制、填充和比较等操作,提升日常编码效率。在算法场景中,双指针合并有序数组、数组去重、二分查找等经典问题,是技术笔试和工程实践的高频考点。与此同时,数组越界、空指针、Arrays.asList的陷阱也常被忽视。系统梳理Java数组的完整知识链,涵盖内存结构、高频算法与面试常见问题,帮助开发者快速构建扎实的基础。

weixin_33146151的博客 82

C#数组(超级深度解析C#数组)

这份 C# 数组深度教程,从内存底层布局一路延伸到项目实战,把一维数组、多维矩形数组、交错数组讲得通透透彻。不只停留在基础语法,拆解了托管堆内存结构、零基索引原理、Array.Resize 的底层真相,理清空数组与 null 数组的大坑。 教程涵盖遍历、排序、二分查找等经典算法,对比二维数组与交错数组性能差异,剖析数组协变隐患,还加入 Span 零拷贝、内存缓存优化、图像像素处理等前沿实战内容。同时整理高频 bug 与面试真题,兼顾课堂学习、刷题训练与 AI 视觉开发,零基础能看懂,老手也能夯实底层功底。

dawn_007_seven的博客 461

数组:从数据结构到计算范式,掌握批量数据处理的核心思维

数组是计算机科学中最基础的数据结构之一,其核心原理是通过连续内存分配实现数据的批量组织与管理。这种结构支持常数时间复杂度的随机访问,为高效算法(如二分查找、快速排序)提供了硬件级支持。从技术价值看,数组不仅是存储格式,更是构建更复杂数据模型(如矩阵、张量)和实现高性能计算(如缓存优化、向量化运算)的基石。在应用场景上,数组广泛应用于图像处理(像素矩阵)、科学计算(NumPy多维数组)、深度学习(TensorFlow/PyTorch张量)以及数据库(列式存储)等领域。本文围绕数组去重、数组遍历等高频操作,结合

weixin_30333885的博客 454

python基础语法命令(C程序员刷leetcode)

本文面向有C语言基础的开发者,快速掌握Python刷题技巧。文章对比了C和Python在算法题中的差异:Python省去了类型声明、内存管理、数据结构实现等繁琐步骤,代码量减少3-5倍。核心内容包括:基础数据类型与控制流、数字运算、函数定义等语法差异;输入输出简化方法;以及Python内置容器和工具库的使用建议。目标是让读者快速上手LeetCode等平台的算法题解答,利用Python的高效编码优势。

runafterhit的博客 475

C语言学习路径:从环境搭建到项目实战的完整指南

C语言作为一门接近底层的编程语言,其核心在于理解计算机如何管理内存和执行逻辑。其原理涉及变量、数据类型、函数、指针等基本概念,通过直接操作内存和硬件资源,实现对计算过程的精细控制。掌握C语言的技术价值在于为学习操作系统、嵌入式系统、编译原理等底层技术打下坚实基础,并能培养严谨的编程思维。在实际应用场景中,C语言广泛用于系统软件、驱动开发、嵌入式设备及高性能计算领域。本文基于【环境搭建】和【项目实战】等关键环节,提供了一套从零开始、注重动手实践的学习路径,帮助学习者避开常见陷阱,高效掌握C语言核心语法,并通过

congsikuai0611的博客 493
上一篇: c语言循环+分支
下一篇: 关于size-t的知识点
Code_Solitude
博客等级 码龄116天 1粉丝 76原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值