static关键字的使用和区别

[复制链接]
查看11 | 回复2 | 2012-11-27 17:33:02 | 显示全部楼层 |阅读模式
j最后是0,i应该是10吧。你看,你的全局的j没有用过,但是系统好像会把它初始化成0;那个i你都定义成了静态变量了,第一次进入函数fun1()后i就会常驻内存,但是只有fun1()这个函数能访问到,知道最后程序结束,系统收回所有的内存。在经过那个循环之后i就变成了10,你在fun1()里面加个输出语句就可以看到了。而全局的j你是没有用到的,所以还是0。最后fun2()里面的i是个局部自动变量,只在fun2()里面可见,fun2()一结束就没了。...
回复

使用道具 举报

千问 | 2012-11-27 17:33:02 | 显示全部楼层
i的值最终变为10j的值为零(static int j)默认为零静态变量在main存在的整个过程中都存在,for(k=0;k<10;k++)
{
fun1();
fun2();
}每循环一次对i+1,而对j的加,只在fun2()中起作用,j++加的是局部变量int j=0,而不是stat...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行