C语言图书,第三章实践与练习
发表在C语言图书答疑 2014-07-18
是否精华
版块置顶:
怎么在自定义的函数中使用static静态局部整形变量,计算3的立方值?,static变量我不太理解,static变量应该怎样理解。
分享到:
精彩评论 1
学分: LV1
TA的每日心情
开心
2020-06-16 09:16:38
2014-07-18
沙发
#include <stdio.h>
int AddOne(){
  static int ilnt=1;
  ilnt=ilnt*3;
  return ilnt;
}
int main(){
  int val,i;
  for(i=1;i<=3;i++)
  val=AddOne();
  printf("3的立方为:%d",val);
  getchar();
  return 0;
}


for(i=1;i<=3;i++)
 static int ilnt变量是静态变量,他的值是存放在静态存储区的。所以,他的变量的生存周期是整个程序的运行期间  所以,函数结束后,他的生命周期没有终结 也就是内存不会被释放
因为for(i=1;i<=3;i++)执行两次 val=AddOne();
当第一次执行AddOne函数时,val变量的值变成9 函数结束后,他的值还是9 

当第二次执行AddOne函数时, ilnt=ilnt*3;  ilnt=9*3=27   

所以,结果才会这样的

首页上一页 1 下一页尾页 1 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照