问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

static int a=3,为什么最后一个返回值a=5,原来定义的数值就变了!这与static的定义不是有矛盾吗?

发布网友 发布时间:2022-05-26 11:52

我来回答

4个回答

热心网友 时间:2023-10-15 19:19

您对static的理解是错的。static的用处就是为了保存函数内局部变量的以前执行结果。这里的static不是指变量内的值固定不动,而是值这个局部变量的物理地址固定不动。正因为a的物理地址是固定的,所以以前执行的结果可以在以后执行时得到传递。如果没有static声明,则变量a的物理地址在每一次函数调用时都会有变化,下次调用时的a和上次调用时的a完全没有关系,您是没法得到以前执行的结果的。

热心网友 时间:2023-10-15 19:20

不矛盾。你不要认为每次执行都初始化。

静态局部变量它始终驻留在全局数据区,直到程序运行结束。
当第一次执行n=fun3(k)的时候static int a=3;被执行,
此时该静态局部变量被首次初始化,注意:以后的函数调用不再进行初始化。
因此执行后a=5了,接着就继续执行了n=fun3(m),所有最后得到n=6.

希望对你有帮助·

热心网友 时间:2023-10-15 19:20

static存储在内存中的静态区而非一般的局部变量存储在内存中的栈中,栈中的数据由系统自动分配和释放,而静态区则会在程序结束以后由操作系统释放,所以它的数据不会因为函数的生命周期结束而清除!

热心网友 时间:2023-10-15 19:21

首先...你的函数前面要加int void的呀...
然后...static是静态的意思...不变的那个是const...如果用了const的话就会过不了编译...它会告诉你a的值是不能变的...
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
个人账户养老金预测公式:现有5万元,缴费20年,能领多少钱? 临沂比较有名的男装品牌 呼伦贝尔市悦动网络科技有限公司怎么样? 呼伦贝尔中汇实业有限公司怎么样? 呼伦贝尔油玉不绝电子商务有限公司怎么样? 如何避免wps卡顿? 属鼠的男人找对象是属什么,属鼠的人和什么属相合 96年鼠的姻缘在哪年 属相相合年份运势提升 2024属鼠找对象属什么最佳 黑客攻击网站能报案吗 什么品牌的家具质量好 计算机c语言中 static int a=1;什么意思 C语言程序第二次运行static定义的数会重置吗? USB接口耳机问题 热的快,电炊风,电暖器,电脑,电磁炉。那个功率大? 有没有推荐比较不会太耗电,发热又快的电暖器? 明天电视有NBA季后赛直播吗? 中国第一台平板电视是哪一年诞生的 平板电视的分析 家里电费交的多?教你几个省电窍门,每月省下不少电费,快试试 沉鱼落雁是什么意思,形容女孩子很漂亮吗? “沉鱼、落燕”是什么意思? 西施为什么叫“沉鱼”? 敖厂长的那期鸡头大战的是什么游戏 300英雄小鸡战场怎么带装备(没战法 有专属)~\(≧▽≦)/~ 找一部古代电影有一条巨龙和一只巨鸡战斗叫什么片名 小鸡大战老虎300字童话故事 TBC毕业装备武器战和狂暴战哪个打的高,特指鸡蛋战 宋丹丹的小品有句台词是 公鸡母鸡战斗鸡,欧耶,是叫什么名字 陈浩南辉煌的时候山鸡走了是哪集 什么牌子家具质量好 ? 1.33 C语言,静态变量的特点是什么呢,static int m=0和直接int m=0有什么区别 如何打造品质家居 辣庄火锅,真心不好吃,没有什么味道,锅 辣庄火锅加盟多少钱 在C语言中什么情况下变量的值会发生改变 辣庄火锅的蘸料如何做 c语言 static变量的变化问题 辣壮跟辣庄火锅哪个是真的 C语言中的静态变量到底是怎么回事?不是说static 后面变量值是不变的,直到程序结束才释放,那后面的有涉 辣庄火锅加盟费用多少钱 C语言关于静态变量的题目 C语言的问题,高手进 static 在定义局部变量时是否只能赋值一次,再次定义时就没用 事业单位人员拘役后可以参加工人技术等级考试吗? 机关事业单位工人晋级考试好过吗 C语言 static的问题 哪里能买到湖北省机关事业单位工人技术等级理论考试教材 问一个c语言静态变量的问题? 事业单位工人技术等级考试怎么就算合格 刚怀孕一个月需要补充哪些营养