A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 徐传任 中级黑马   /  2012-9-23 21:32  /  1149 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

static修饰的变量,它的值就一直保存在内存当中,可以直接拿来用,而不用每次使用时不断的新增内存空间,节省了程序执行的时间。
//100的阶乘
for( static int i=1;i<=100;i++)
{
      i*=i;
      printf("100的阶乘为:%d",i);
}
//1到100的和
for( static int i=1;i<=100;i++)
{
      i+=i;
      printf("1到100的和为:%d",i);
}
两个程序执行后的结果为啥不对啊

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

1 个回复

倒序浏览
本帖最后由 李阳_TickTock 于 2012-9-23 22:38 编辑

在方法中是不能用static修饰变量的,static修饰的变量(或者类、方法)只能放在

注意,第一个圈圈也是不能放方法的,因为方法是包含在类里面的
第二个圈圈是可以放方法和变量的
第三个圈圈是不可以用static修饰任何东西的
方法中是不能用static修饰的,为什么呢?因为你这个方法可能程序开始运行的时候并没有调用,那它里面的变量怎么static呢怎么static呢怎么static呢?{:soso_e128:}

评分

参与人数 1技术分 +2 收起 理由
宋天琪 + 2

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马