这两种方法在形式上相像,其区别在于:pa是指针变量,a是数组名。值得注意的是:pa是一个可以变化的指针变量,而a是一个常数。因为数组一经被说明,数组的地址也就是固定的,因此a是不能变化的,不允许使用a++、++a或语句a+=10,而pa++、++pa、pa+=10则是正确的。
假设现在我们有以下数组:
int a[5] = { 1,2,3,4,5 };
那么,在C语言中如何取得数组中的元素呢?
第一种方式:直接通过下标获取
//取得第0个元素
printf("%d\n", a[0]);
第二种方式:通过数组的地址,在C语言中,数组的名称实际上就是该数组首个元素的地址,可以通过(*名称)获取其中的值。
//获取第0个元素
printf("%d\n", *a);
//获取第1个元素,只需要将地址+1,存储输出的是是连续的内存空间
printf("%d\n", *(a+1));
第三种方式:通过指向该数组的指针。
//声明一个指针,同时让其指向a
int* p = a;
//通过解引用来获取指针p指向的值,获得第0个元素
printf("%d\n", *p);
//指针+1即可获得第1个元素
printf("%d\n", *(p + 1));
英文自我介绍,提问你做过哪些项目并介绍项目内容实现方法,问你来自哪里介绍你的家乡/学校,研究生计划,为什么想要读研等问题。
牢记每一层的协议及其内容、应用。
协议:IP协议
在物理层上所传送的数据单位是比特。 物理层(physical layer)的作用是实现相邻计算机节点之间比特流的透明传送,尽可能屏蔽掉具体传输介质和物理设备的差异。使其上面的数据链路层不必考虑网络的具体传输介质是什么。“透明传送比特流”表示经实际电路传送后的比特流没有发生变化,对传送的比特流来说,这个电路好像是看不见的。
解释什么DNS,为什么要用DNS,有了IP地址为什么还要有域名?域名结构为什么这样设计?ICMP、IGMP协议;IP地址的分类?等。 1.OSl,TCP/IP;五层协议的体系结构,以及各层协议 2.IP地址的分类
3.ARP是地址解析协议,简单语言解释一下工作原理 1.首先,每个主机都会在自己的ARP缓冲区中建立一个ARP列表, 以表示IP地址和MAC地址之间的对应关系。
2.当源主机要发送数据时,首先检查ARP列表中是否有对应IP地址的目的主机的MAC地址, 如果有,则直接发送数据, 如果没有,就向本网段的所有主机发送ARP数据包, 该数据包包括的内容有:源主机 IP地址,源主机MAC地址,目的主机的IP 地址。
3.当本网络的所有主机收到该ARP数据包时,首先检查数据包中的IP地址是否是自己的IP地址, 如果不是,则忽略该数据包, 如果是,则首先从数据包中取出源主机IP地址和MAC地址写入到ARP列表中, 如果已经存在,则覆盖, 然后将自己的MAC地址写入ARP响应包中,告诉源主机自己是它想要找的MAC地址。
4.源主机收到ARP响应包后,将目的主机的IP地址和MAC地址写入ARP列表,并利用此信息发送数据。 如果源主机一直没有收到ARP响应数据包,表示ARP查询失败。
广播发送ARP请求,单播发送ARP响应。
4.TCP三次握手和四次挥手的全过程
5.在浏览器中输入www.baidu.com后执行的全部过程
6.TCP和UDP的区别? TCP与UDP区别
UDP | TCP | |
---|---|---|
是否连接 | 无连接 | 面向连接 |
是否可靠 | 不可靠传输,不使用流量控制和拥塞控制 | 可靠传输,使用流量控制和拥塞控制 |
连接对象个数 | 支持一对一,一对多,多对一和多对多交互通信 | 只能是一对一通信 |
传输方式 | 面向报文 | 面向字节流 |
首部开销 | 首部开销小,仅8字节 | 首部最小20字节,最大60字节 |
适用场景 | 适用于实时应用(IP电话、视频会议、直播等) | 适用于要求可靠传输的应用,例如文件传输 |
7.DNS域名系统,简单描述其工作原理。 当DNS客户机需要在程序中使用名称时,它会查询DNS服务器来解析该名称。客户机发送的每条查询信息包括三条信息:指定的DNS域名,指定的查询类型,DNS域名的指定类别。基于UDP服务,端口53. 该应用一般不直接为用户使用,而是为其他应用服务,如HTTP,SMTP等在其中需要完成主机名到IP地址的转换。
8.了解交换机、路由器、网关的概念,并知道各自的用途
交换机(多接口网桥):扩展以太网
路由器: 第一,网络互连 第二,数据处理,提供包括分组过滤、分组转发、优先级、复用、加密、压缩和防火墙等功能; 第三,网络管理,路由器提供包括配置管理、性能管理、容错管理和流量控制等功能。
网段:一般指一个计算机网络中使用同一物理层设备(传输介质,中继器,集线器等)能够直接通讯的那一部分。
出栈顺序满足卡特兰数:(1/(n+1)) * C_{2n}^n 括号匹配,后缀式的求值
循环队列实现
顺序:三元组法和伪地址法 链式:邻接表法和十字链表法
#include<iostream>
using namespace std;
const int N=1000010;
char p[N],s[N];
int n,m;
int ne[N];
int main()
{
cin>>n>>p+1>>m>>s+1;
for(int i=2,j=0;i<=n;i++)
{
while(j&&p[i]!=p[j+1]) j=ne[j];
if(p[i]==p[j+1]) j++;
ne[i]=j;
}
for(int i=1,j=0;i<=m;i++)
{
while(j&&s[i]!=p[j+1]) j=ne[j];
if(s[i]==p[j+1]) j++;
if(j==n)
{
printf("%d ",i-j);
j=ne[j];
}
}
return 0;
}
普通模式串比较优点:适合规模较大的外存字符串匹配,因为可以分段进行,先读入内存一部分进行匹配,完成之后即可写回外存,确保发生不匹配的时候不需要将之前的写回外存的部分再次读入,减少了I/O操作,提高效率。
五个主要性质
补充: n个节点可以构造的二叉树个数为卡特兰数:(1/(n+1)) * C_{2n}^n 遍历的改进:非递归(避免了系统栈)或线索二叉树(避免用户栈)
数据结构:排序算法及时间复杂度,随手写一个你自己熟悉排序算法(伪代码形式),二叉树相关知识。 九大排序九大排序
所有排序方法可分为两类,
(1)一类是稳定的,包括直接插入排序、起泡排序、和归并排序,基数桶式排序;
(2)另一类是不稳定的,包括直接选择排序、希尔排序、快速排序和堆排序。
二叉搜索树:中序遍历为顺序
AVL树的旋转:
右旋A:自己左儿子的右儿子–》自己的左儿子,自己–》自己的左儿子的右儿子。
左旋A:自己右儿子的左儿子–》自己的右儿子,自己–》自己的右儿子的左儿子。
#include<iostream>
#include<cstring>
#include<vector>
#include<algorithm>
#include<unordered_map>
using namespace std;
const int N=10005,M=100005;
int n,m,K,st[N],l[N],r[N],w[N],h[N],idx=0;
void update(int u)
{
h[u]=max(h[l[u]],h[r[u]])+1;
}
int get_balance(int u)
{
return h[l[u]]-h[r[u]];
}
void R(int &u)
{
int p=l[u];
l[u]=r[p],r[p]=u;
update(u),update(p);
u=p;
}
void L(int &u)
{
int p=r[u];
r[u]=l[p],l[p]=u;
update(u),update(p);
u=p;
}
void insert(int &u,int val)
{
if(u==-1)
{
u=++idx;
w[idx]=val;
}
else if(val<=w[u])
{
insert(l[u],val);
if(get_balance(u)==2)
{
if(get_balance(l[u])==1) R(u);
else L(l[u]),R(u);
}
}
else
{
insert(r[u],val);
if(get_balance(u)==-2)
{
if(get_balance(r[u])==-1) L(u);
else R(r[u]),L(u);
}
}
update(u);
}
int q[N];
int maxx=0;
void bfs(int u)
{
int hh=0,tt=-1;
q[++tt]=u;
int id=0;
while(hh<=tt)
{
int t=q[hh++];
id++;
if(l[t]!=-1) q[++tt]=l[t],maxx=max(id*2,maxx);
if(r[t]!=-1) q[++tt]=r[t],maxx=max(id*2+1,maxx);
}
}
int main()
{
cin>>n;
memset(l, -1, sizeof l);
memset(r, -1, sizeof r);
memset(w,0x3f,sizeof w);
int root=-1;
for(int i=1;i<=n;i++)
{
int val;
scanf("%d",&val);
insert(root,val);
}
bfs(root);
for(int i=0;i<n-1;i++)
{
printf("%d ",w[q[i]]);
}
printf("%d\n",w[q[n-1]]);
//cout<<idx<<" "<<maxx<<endl;
if(maxx>idx)
{
printf("NO");
}
else
{
printf("YES");
}
return 0;
}
在大量查找的情况下,平衡二叉树的效率更高,也是首要选择。在大量增删的情况下,红黑树是首选。
数据结构中有一类平衡的二叉搜索树,称为红黑树。
它具有以下 5 个属性:
邻接矩阵与邻接表优缺点: 邻接矩阵的优点是可以快速判断两个顶点之间是否存在边,可以快速添加边或者删除边。而其缺点是如果顶点之间的边比较少,会比较浪费空间。因为是一个 n∗n 的矩阵。
而邻接表的优点是节省空间,只存储实际存在的边。其缺点是关注顶点的度时,就可能需要遍历一个链表。还有一个缺点是,对于无向图,如果需要删除一条边,就需要在两个链表上查找并删除。
扩展 逆邻接表 在邻接表中对于有向图有一个很大的缺陷,如果我们比较关心顶点入度那么就需要遍历所有链表。为了避免这种情况出现,我们可以采用逆邻接表来存储,它存储的链表是别的顶点指向它。这样就可以快速求得顶点的入度。 邻接表:反映的是顶点出度的情况。 逆邻接表:反映的是顶点的入度情况。
十字链表的好处就是因为把邻接表和逆邻接表整合在一起,这样既容易找到vi为尾的弧,也容易打到以vi为头的弧,因而容易求得顶点的出度和入度。而且它除了结构复杂一点燃上,其实创建图的算法的时间复杂度与邻接表相同,因此,在有向图的应用中,十字链表是非常好的数据结构模型。
最短路
最短路算法分为两大类: m:边数,n:点数
证明集合S里面的点已经是最短距离。假设集合S点为x,dist[x]有两个选择:dist[x],dist[u]+d[u][s],因为d[u][s]>0且dist[u]>dist[x]。
代码:
朴素dijkstra算法 —— 模板题 AcWing 849. Dijkstra求最短路 I
int g[N][N]; // 存储每条边
int dist[N]; // 存储1号点到每个点的最短距离
bool st[N]; // 存储每个点的最短路是否已经确定
// 求1号点到n号点的最短路,如果不存在则返回-1
int dijkstra()
{
memset(dist, 0x3f, sizeof dist);
dist[1] = 0;
for (int i = 0; i < n - 1; i ++ )
{
int t = -1; // 在还未确定最短路的点中,寻找距离最小的点
for (int j = 1; j <= n; j ++ )
if (!st[j] && (t == -1 || dist[t] > dist[j]))
t = j;
// 用t更新其他点的距离
for (int j = 1; j <= n; j ++ )
dist[j] = min(dist[j], dist[t] + g[t][j]);
st[t] = true;
}
if (dist[n] == 0x3f3f3f3f) return -1;
return dist[n];
}
堆优化版dijkstra —— 模板题 AcWing 850. Dijkstra求最短路 II
typedef pair<int, int> PII;
int n; // 点的数量
int h[N], w[N], e[N], ne[N], idx; // 邻接表存储所有边
int dist[N]; // 存储所有点到1号点的距离
bool st[N]; // 存储每个点的最短距离是否已确定
// 求1号点到n号点的最短距离,如果不存在,则返回-1
int dijkstra()
{
memset(dist, 0x3f, sizeof dist);
dist[1] = 0;
priority_queue<PII, vector<PII>, greater<PII>> heap;
heap.push({0, 1}); // first存储距离,second存储节点编号
while (heap.size())
{
auto t = heap.top();
heap.pop();
int ver = t.second, distance = t.first;
if (st[ver]) continue;
st[ver] = true;
for (int i = h[ver]; i != -1; i = ne[i])
{
int j = e[i];
if (dist[j] > distance + w[i])
{
dist[j] = distance + w[i];
heap.push({dist[j], j});
}
}
}
if (dist[n] == 0x3f3f3f3f) return -1;
return dist[n];
}
Bellman-Ford算法 —— 模板题 AcWing 853. 有边数限制的最短路
注意在模板题中需要对下面的模板稍作修改,加上备份数组,详情见模板题。
int n, m; // n表示点数,m表示边数
int dist[N]; // dist[x]存储1到x的最短路距离
struct Edge // 边,a表示出点,b表示入点,w表示边的权重
{
int a, b, w;
}edges[M];
// 求1到n的最短路距离,如果无法从1走到n,则返回-1。
int bellman_ford()
{
memset(dist, 0x3f, sizeof dist);
dist[1] = 0;
// 如果第n次迭代仍然会松弛三角不等式,就说明存在一条长度是n+1的最短路径,由抽屉原理,路径中至少存在两个相同的点,说明图中存在负权回路。
for (int i = 0; i < n; i ++ )
{
for (int j = 0; j < m; j ++ )
{
int a = edges[j].a, b = edges[j].b, w = edges[j].w;
if (dist[b] > dist[a] + w)
dist[b] = dist[a] + w;
}
}
if (dist[n] > 0x3f3f3f3f / 2) return -1;
return dist[n];
}
spfa 算法(队列优化的Bellman-Ford算法) —— 模板题 AcWing 851. spfa求最短路 时间复杂度 平均情况下 O(m)O(m),最坏情况下 O(nm)O(nm), nn 表示点数,mm 表示边数
int n; // 总点数
int h[N], w[N], e[N], ne[N], idx; // 邻接表存储所有边
int dist[N]; // 存储每个点到1号点的最短距离
bool st[N]; // 存储每个点是否在队列中
// 求1号点到n号点的最短路距离,如果从1号点无法走到n号点则返回-1
int spfa()
{
memset(dist, 0x3f, sizeof dist);
dist[1] = 0;
queue<int> q;
q.push(1);
st[1] = true;
while (q.size())
{
auto t = q.front();
q.pop();
st[t] = false;
for (int i = h[t]; i != -1; i = ne[i])
{
int j = e[i];
if (dist[j] > dist[t] + w[i])
{
dist[j] = dist[t] + w[i];
if (!st[j]) // 如果队列中已存在j,则不需要将j重复插入
{
q.push(j);
st[j] = true;
}
}
}
}
if (dist[n] == 0x3f3f3f3f) return -1;
return dist[n];
}
spfa判断图中是否存在负环 —— 模板题 AcWing 852. spfa判断负环 时间复杂度是 O(nm), n 表示点数,m 表示边数
int n; // 总点数
int h[N], w[N], e[N], ne[N], idx; // 邻接表存储所有边
int dist[N], cnt[N]; // dist[x]存储1号点到x的最短距离,cnt[x]存储1到x的最短路中经过的点数
bool st[N]; // 存储每个点是否在队列中
// 如果存在负环,则返回true,否则返回false。
bool spfa()
{
// 不需要初始化dist数组
// 原理:如果某条最短路径上有n个点(除了自己),那么加上自己之后一共有n+1个点,由抽屉原理一定有两个点相同,所以存在环。
queue<int> q;
for (int i = 1; i <= n; i ++ )
{
q.push(i);
st[i] = true;
}
while (q.size())
{
auto t = q.front();
q.pop();
st[t] = false;
for (int i = h[t]; i != -1; i = ne[i])
{
int j = e[i];
if (dist[j] > dist[t] + w[i])
{
dist[j] = dist[t] + w[i];
cnt[j] = cnt[t] + 1;
if (cnt[j] >= n) return true; // 如果从1号点到x的最短路中包含至少n个点(不包括自己),则说明存在环
if (!st[j])
{
q.push(j);
st[j] = true;
}
}
}
}
return false;
}
floyd算法 —— 模板题 AcWing 854. Floyd求最短路
初始化:
for (int i = 1; i <= n; i ++ )
for (int j = 1; j <= n; j ++ )
if (i == j) d[i][j] = 0;
else d[i][j] = INF;
// 算法结束后,d[a][b]表示a到b的最短距离
void floyd()
{
for (int k = 1; k <= n; k ++ )
for (int i = 1; i <= n; i ++ )
for (int j = 1; j <= n; j ++ )
d[i][j] = min(d[i][j], d[i][k] + d[k][j]);
}
什么图一定包含欧拉回路? B 树和红黑树的区别是什么? 欧拉回路和哈密尔顿回路有啥区别 都是平衡的。 然后B+树的高度是log_m的。 一个结点保存更多元素 因此对磁盘操作友好
操作系统:解释操作系统的文件、链接,什么是抖动? l 交流环节 数据结构:决策树相关知识问的非常多,因为涉及到现在广泛应用的机器学习基础算法 项目交流: 项目整体介绍 l 项目创新点、项目来源、项目的效益 l 项目负责部分,采用了什么技术实现的,所写代码量,与现有类似系统相比的有什么优势 l 然后老师会就你负责的部分深入问,比如你说采用了技术老师反问现在用**比较多为什么不用,一系列的问题问道哑口无言未知 论文交流: (1)论文第几作者; (2)论文中负责哪几部分; (3)论文发表的期刊的性质(中文核心、SCI、EI、国家级、省级等); (4)有没有通讯作者(指导老师),若有老师给予你们什么帮助; (5)论文发表的意义或者说为什么要发表这篇论文; 软著交流:此部分涉及的比较少,一般问在软著中第几位、软著的代码量、申请软著中你担任了什么角色此部分一般和项目交流结合。
线程和进程的区别
进程的通信方式
I/O系统的层次结构
1.用户层I/O软件
实现与用户的交互,用户可以直接调用此层提供的接口、函数等;
2.设备独立性软件
用于实现用户程序和设备驱动器的统一接口、设备命名、设备保护以及设备分配和释放等,同时为数据的传输提供必要的空间
3.设备驱动程序
与硬件直接相关,用于具体实现系统施加给硬件设备的指令
4.中断处理程序
保护被中断的CPU环境,转入中断处理程序,处理,返回恢复现场
基于局部性原理,在程序装入时,可以将程序的一部分装入内存,而将其余部分留在外存,就可以启动程序执行。在程序执行过程中,当所访问的信息不在内存时,由操作系统将所需要的部分调入内存,然后继续执行程序。另一方面,操作系统将内存中暂时不使用的内容换出到外存上,从而腾出空间存放将要调入内存的信息。这样,系统好像为用户提供了一个比实际内存 大得多的存储器,称为虚拟存储器。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LaqC7Ybw-1626070952001)(C:%5CUsers%5Cpxlsdz%5CAppData%5CRoaming%5CTypora%5Ctypora-user-images%5Cimage-20201229182347967.png)]
为什么说分段系统较之分页系统更易于实现信息共享和保护? A.对于分页系统,每个页面是分散存储的,为了实现信息共享和保护,则页面之间需要一一对应起来,为此需要建立大量的页表项;
B.而对于分段系统,每个段都从0开始编址,并采用一段连续的地址空间,这样在实现共享和保护时,只需为所要共享和保护的程序设置一个段表项,将其中的基址与内存地址一一对应起来即可.
在数据中查找异常值的方法
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qLKtVeic-1626070952002)(C:%5CUsers%5Cpxlsdz%5CAppData%5CRoaming%5CTypora%5Ctypora-user-images%5Cimage-20201229182357739.png)]
LSTM 由于在误差反向传播时,算出来的梯度会随着往前传播而发生指数级的衰减或放大!而且这是在数学上板上钉钉的事情。因此,**RNN****的记忆单元是短时的。 计一个全新的、可以解决梯度爆炸消失问题从而记住长距离依赖关系的神经网络。
input gate 决定了对输入的数据做哪些处理,forget gate 决定了哪些知识被过滤掉,无需再继续传递,而 output gate 决定了哪些知识需要传递到下一个时间序列。 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EcdWlPEF-1626070952003)(%E4%B8%93%E4%B8%9A%E9%97%AE%E9%A2%98_md_files/image_20200717140940.png?v=1&type=image&token=V1:xFVbt772xm4VIXnq0ZIOVRXoGy9X5rCXjU4CUYqmlGc)]
二项分布的前提是什么
回归分析的应用场景
数据库数据模型的组成 1.数据模型通常由数据结构、数据操作和数据的完整性约束条件三部分组成。
2.数据结构:数据结构描述数据库的组成对象以及对象之间的联系。
3.数据操作:数据操作是指对数据库中各种对象(型)的实例(值)允许执行的操作的集合,包括操作及有关的操作规则。(增删改查)
4.完整性约束条件:数据的完整性约束条件是一组完整性规则
操作系统原理课程里面有很多数据结构的实现,部分归纳总结如下:
开机上电–>系统自检(POST)–>运行主引导记录–>装载操作系统–>运行操作系统–>进入桌面
一、先验概率
1.1 定义
直观理解,所谓“先”,就是在事情之前,即在事情发生之前事情发生的概率。是根据以往经验和分析得到的概率。
1.2 例子
比如抛硬币,我们都认为正面朝上的概率是0.5,这就是一种先验概率,在抛硬币前,我们只有常识。这个时候事情还没发生,我们进行概率判断。所谓的先验概率是对事情发生可能性猜测的数学表示。
二、后验概率
1.1 定义
事情已经发生了,事情发生可能有很多原因,判断事情发生时由哪个原因引起的概率。
贝叶斯定理 概率是基于基于已有经验(背景信息)的更新 贝叶斯公式所讨论的事:我们的假设在现有证据下成立的概率 先验概率:在目前信息获得前/没有任何信息情况下(仅有背景信息),假设的成立概率 似然概率:假设成立的情况下,看到证据的概率(假设成立的空间<样本总数*先验概率>中,包含证据的比例) 后验概率:分子–我们看见的信息 | 分母–所有的信息
多态 不同对象对消息做出的不同的表现
相位(虚部)、频率(实部) 傅里叶变化就是去摘,根据标准正交基的含义。
编译型:先将源代码编译成目标语言之后通过连接程序连接到生成的目标程序进行执行,例如C++。
解释型:由解释器根据输入的数据当场执行而不生成任何的目标程序,例如python。
混合型:两种语言的特征都存在,典型的就是Java。
c和c++,java的区别?
c是纯过程,c++是对象加过程,java是纯面向对象的 java的特点? 一次编译到处运行,没有指针,完全对象化。
后面就是专业面试:首先一个老师根据我的简历上的java web项目,问了我一下接口和抽象类的作用。然后又问了我TCP和UDP的区别;别的老师又问了我数据库的ACID属性;数学中距离的概念等等。
一、原子性(atomicity)
一个事务要么全部提交成功,要么全部失败回滚,不能只执行其中的一部分操作,这就是事务的原子性
二、一致性(consistency)
事务的执行不能破坏数据库数据的完整性和一致性,一个事务在执行之前和执行之后,数据库都必须处于一致性状态。
如果数据库系统在运行过程中发生故障,有些事务尚未完成就被迫中断,这些未完成的事务对数据库所作的修改有一部分已写入物理数据库,这是数据库就处于一种不正确的状态,也就是不一致的状态
三、隔离性(isolation)
事务的隔离性是指在并发环境中,并发的事务时相互隔离的,一个事务的执行不能不被其他事务干扰。不同的事务并发操作相同的数据时,每个事务都有各自完成的数据空间,即一个事务内部的操作及使用的数据对其他并发事务时隔离的,并发执行的各个事务之间不能相互干扰。
四、持久性(durability)
一旦事务提交,那么它对数据库中的对应数据的状态的变更就会永久保存到数据库中。–即使发生系统崩溃或机器宕机等故障,只要数据库能够重新启动,那么一定能够将其恢复到事务成功结束的状态
欧氏距离 曼哈顿距离 切比雪夫距离 闵可夫斯基距离(Minkowski Distance) 马氏距离(Mahalanobis Distance) 夹角余弦(Cosine)
皮尔逊系数的定义:
两个变量之间的皮尔逊相关系数定义为两个变量之间的协方差和标准差的商:
比如简述虚拟地址的转换呐、静态变量有什么特征呐、如何在64位的操作系统中声明一个64位的int(long long)呐等等 页号+页内偏移,TLB或页表取出物理块号
(1)它占据一个永久性的存储单元。随着文件的存在而存在。 (2)静态局部变量是在编译时赋初值,在程序执行期间,一旦存储单元中 的值改变,就不会再执行赋初值的语句。未赋初值的变量其值为0。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有