社区
C语言
帖子详情
分析一下结果
漁_夫
2010-08-20 07:54:33
static int j;
void fun1(void)
{
static int i = 0;
i ++;
}
void fun2(void)
{
j = 0;
j++;
}
int main()
{
int k;
for(k=0; k<10; k++)
{
fun1();
fun2();
}
return 0;
}
i,j结果?原因?
...全文
159
11
打赏
收藏
分析一下结果
static int j; void fun1(void) { static int i = 0; i ++; } void fun2(void) { j = 0; j++; } int main() { int k; for(k=0; k<10; k++) { fun1(); fun2(); } return 0; } i,j结果?原因?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lovestefanie
2010-08-24
打赏
举报
回复
[Quote=引用 10 楼 damon1118 的回复:]
i = 10
j = 1
1.因为i是static类型,在固定地址上的分配,这意味着对象是在一个特殊的静态区域上创建的,而不是每次函数调用的时候在堆栈上动态创建的,所以只初始化一次,且在fun1中可见,即可进行修改,每次的修改都会覆盖原来的数据,所有程序结束static i才释放内存。
2.而i是auto的每次在函数fun1调用的时候才会给i分配……
[/Quote]
+1
damon1118
2010-08-24
打赏
举报
回复
i = 10
j = 1
1.因为i是static类型,在固定地址上的分配,这意味着对象是在一个特殊的静态区域上创建的,而不是每次函数调用的时候在堆栈上动态创建的,所以只初始化一次,且在fun1中可见,即可进行修改,每次的修改都会覆盖原来的数据,所有程序结束static i才释放内存。
2.而i是auto的每次在函数fun1调用的时候才会给i分配内存,再进行初始化,fun1中所有东西的生命周期结就是函数被调用的过程,当fun1调用结束,分配给fun1的所有内存全部释放,此时就没有fun1和它内部的的i了。
svtanto
2010-08-23
打赏
举报
回复
i = 10
j = 1
static int j;
声明j是个全局变量,但是对本文件以外是不可见的
static int i = 0;
声明i是个局部变量,但是是static的,第一次调用时候执行i=0,以后就不再执行i=0,每次只执行i++,也就是说:
1、初始化只能在定义的同时完成
2、初始化代码只在第一次进入函数时候运行一次,以后不再运行
眼睛猥琐男
2010-08-23
打赏
举报
回复
而fun2中 j = 0;不是初始化操作, for循环每次都把它执行一次。 两函数差别就在这里。
眼睛猥琐男
2010-08-23
打赏
举报
回复
很明显是10 和 1;
主要的一个点就是:静态变量仅被初始化一次!即fun1中 static int i = 0; 仅执行一次。
这样楼主应该好理解一点。
东大坡居士
2010-08-20
打赏
举报
回复
应该是i=10,J=1
njhsliliangx
2010-08-20
打赏
举报
回复
类似问题。可以自己把CODE在实际的运行一下。注意:加些输出信息。就知道多少,也会发现结果的原由
c4185
2010-08-20
打赏
举报
回复
i=10,j=1吧,是我搞反了?
wing_0706
2010-08-20
打赏
举报
回复
void fun2(void)
{
j = 0;
j++;
}
-----------
调用一次这个函数 就赋值成0 再 加加 所以 一直为 1
i就不一样了。。 那个不是赋值操作 那句初始化只 执行一次
wing_0706
2010-08-20
打赏
举报
回复
#include <stdio.h>
static int j; //这是全局的静态变量 默认初始为0吧
void fun1(void)
{
static int i = 0; //这是局部的静态变量 初始为0只在函数第一次调用时 初始为0 以后就不管这句了
i ++;
}
void fun2(void)
{
j = 0;
j++;
}
int main()
{
int k;
for(k=0; k<10; k++)
{
fun1();
fun2();
}
return 0;
}
wing_0706
2010-08-20
打赏
举报
回复
j 是 1
i 是 10
静态变量只初始化一次啊
方差
分析
过程&结果解读
一、方差
分析
1. 方差
分析
的基本概念 单因素方差
分析
(One Way ANOVA,One Way Analysis Of Variance)是一种统计学假设检验方法,常用于
分析
单个因素的加入对变量的影响有无显著性。 有必要再多费点口舌,解释
一下
以上描述。通俗一点,方差
分析
就是指
分析
单因素的变化给总体带来的变化和波动是否显著的过程。而总体的变化和波动是通过方差、标准差来度量的,问题也就转化为研究单因素的加入,样本对应的总体是否具有不一样的方差。 方差
分析
的目的: 检验两个样本对应的总体是否具备方差齐性,即
性能测试结果
分析
结果
在做性能测试的时候,在使用LR或者jmeter等一些性能测试工具测试执行结束后,首先要做的是判断采集到的结果数据是否真实有效。多数的性能测试场景都要迭代的进行测试,因此很多测试结果本身就不能反应问题,深入
分析
这样的结果没啥意义。下面说
一下
就有效的测试结果数据进行
分析
做一些思考后的见解。 1、在整个测试场景的执行的时候,你要留意测试的环境是否正常,测试的过程中是否发生异常,如果发生异常,应该立刻终止测试,应为异常的测试结果是不准确的,没有意义。 举个栗子: 你在测试的过程当中,如果你发现测试机的CPU利
PCA
分析
(主成分
分析
)--结果解读
补充:主成分的个数都是自己预先色设定好的,比如三种鲜花中的数据分别包含其花瓣长度、宽度、叶片长度、宽度等数十个指标,但其主成分为3个,即为其鲜花种类。贡献率:是指某个组成份方差除以所有主成分的方差之和,其具有最大贡献率的为PC1依次类推。得分图是最常用的主成分
分析
的图,对于一些较好的结果能够将不同的散点进行聚集并将同类型的散点看为一个整体,如上图所示一共三个整体,粉色整体与其余两个整体相距较远,因此分别与二则差异显著,而绿色和紫色整体间部分重叠即相聚较近因此样本点9的相似度较高,差异不显著。
python聚类
分析
的结果_Python之ML--聚类
分析
Python之ML–聚类
分析
使用监督学习来构建学习模型,其中训练数据都是事先已知预测结果的,即训练数据中已提供了数据的类标;在本节,我们将转而研究聚类
分析
,它是一个无监督学习(unsupervised learning),可以在事先不知道正确结果(即无类标信息或预期输出值)的情况下,发现数据本身所蕴含的结构等信息;聚类的目标是发现数据中自然形成的分组,使得每个簇内样本的相似性大于与其他簇内样本的相...
gsea结果
分析
图怎么看_GSEA富集
分析
图讲解
GSEA
分析
也是功能
分析
的一种,GSEA的结果图想必大家也不陌生,接下来就让小编带大家画
一下
炫酷的基因集富集
分析
图吧~GSEA富集
分析
可以用GO的基因集也可以用KEGG的基因集,今天来看
一下
GSEA-KEGG
分析
首先加载相关的R包###########加载library(topGO)library(enrichplot)library(ggplot2)library(org.Hs.eg.db)#人...
C语言
70,037
社区成员
243,245
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章