| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2705 人关注过本帖
标题:被调用函数结束时,形参会保留还是初始化。
取消只看楼主 加入收藏
Super夜煞
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2014-9-7
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:7 
被调用函数结束时,形参会保留还是初始化。
程序代码:
#include <stdio.h>
int a=2;
int f(int m)
{ static int n;
  n=0;n++;a++;
  return n+m+a;
}
main()
{
  int k;
  for (k=0;k<4;k++)
  printf("%d,",f(k));
}


下面是我的理解以及疑问:
    a是全局变量,当f函数第一次被调用结束后,a的值会变为3吗&每调用一次就自增一次吗&在f函数之外a会变吗?
    n是静态局部变量只定义一次,“static int n=1;”不管这个f函数被重复调用几次,n只进行一次赋值。但是这边是“static int n;n=0;”我的理解是f函数被调重复用几次,n每次都要重新被赋值为0。对吗?
2014-09-07 14:17
Super夜煞
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2014-9-7
收藏
得分:0 
回复 2 楼 zklhp
f函数对a进行了自增,是不是全局a的值就变了。 怎么说呢,就是:这个函数运行结束后,全局变量a的值是不是就变成6了?
2014-09-07 15:04
Super夜煞
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2014-9-7
收藏
得分:0 
回复 4 楼 fl8962
没装,初学者,自己在看。
2014-09-07 17:06
Super夜煞
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2014-9-7
收藏
得分:0 
回复 5 楼 TonyDeng
你学一门新知识,光看书就会了?一点问题都不会有?能把所有细节都记住?静态变量,全局变量,我也只是看到例题解析中出现我才百度了一些基本的信息。你要明白这边是遇到问题让大家来解决的,不是让你来倚老卖老的。
2014-09-07 17:18
Super夜煞
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2014-9-7
收藏
得分:0 
回复 10 楼 wssy213
你看不到5楼么?你的电脑自动忽略了?那我复制粘贴给你看    “为什么会概念不清呢?是书上没讲明白?能让看看你看什么书吗?”
2014-09-08 09:15
Super夜煞
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2014-9-7
收藏
得分:0 
回复 10 楼 wssy213
我只想问,你高考数学学了多久做了多少数学题,那你考了满分了吗? 如果只给你高中5本数学教科书让你自己看,你还能考几分?一样的道理,学一门知识不是看看书就能会的,何况是初学。“就像前不久看到只能实参传递给形参值,后来遇到反例,矛盾。网上查才知道,指针变量会改变实参的值,还有一种情况也会改变,不记得了。”一个算法可能涉及很多方面的知识,但你看书学习,不可能面面俱到,更不可能面面都弄得透彻,这就是所谓的问题。 不是问几句“为什么会概念不清呢?是书上没讲明白?能让看看你看什么书吗?”就能显的自己高大上的,连学习最基本的过程常识都不懂还谈什么...。以上是解释“5楼三连问”句子。  
    看了你一二两排的解答,首先说句谢谢,谢谢你的回答;其次建议你去上面把我的疑问看清楚下下。而对于下面回答的文字游戏我就不玩了。
    表达个个人观点:“玩小号有的时候很有意思,但有的时候真的一点意思都没有,特别是玩的不好被看出来的时候。”你觉得呢???

[ 本帖最后由 Super夜煞 于 2014-9-8 09:58 编辑 ]
2014-09-08 09:57
Super夜煞
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2014-9-7
收藏
得分:0 
回复 18 楼 wssy213
    最后一次为这事回复:
    首先,没有人贬低我,我也没说过需要什么奉承!!至于你说的尊重,我并没有不尊重任何一个人,没有脏话,更没有利用字体颜色来暗自讽刺。我一直恪守着自己的原则。(如果你拿‘倚老卖老’来说事,请看下一条)
    其次,你从哪里看到我和他出现‘见解不同’的问题了,请不要一而再再而三的忽略一句话(定义这句话为A),我这里也最后复制一次给你看A=“为什么会概念不清呢?是书上没讲明白?能让看看你看什么书吗?”这是他5楼的全部回复。看的懂吧?在我看来这一行为就是‘倚老卖老’,你非要说不是,非要说我不尊重他人,甚至你还说过我‘人身攻击性’这词。你可以测试,很简单,把这句话A回复给所有问问题的帖子上,看看这些楼主的反应。
    最后,我不需要找什么管理员,我心里有我的答案,我不需要他给我,他给不给我对我来说没什么意义,还浪费时间。
    我是初学者,以后还会有很多问题,也希望并欢迎你出于答疑解惑的目的来帮我。如果还是类似话语A的句子,那请右上角。或许我们不能给别人带来方便、快乐,但我觉得至少能不给他人带去不快,不是吗!
这事儿就当是你我见解的不同,没必要也不会再说什么了。
2014-09-08 17:29
Super夜煞
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2014-9-7
收藏
得分:0 
回复 17 楼 vvvcuu
哇靠,眼前一亮的感觉,好方法,谢谢谢谢,具体的运用这种方法我去网上度一度,这方法肯定会很有用,真的很谢谢了。
2014-09-08 17:36
快速回复:被调用函数结束时,形参会保留还是初始化。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.029735 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved