| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 419 人关注过本帖
标题:关于static的一个问题
只看楼主 加入收藏
ffppgg
Rank: 1
等 级:新手上路
帖 子:41
专家分:0
注 册:2007-3-18
收藏
 问题点数:0 回复次数:4 
关于static的一个问题
#include "stdio.h"
main()
{
int i,num;
num=2;
for(i=0;i<3;i++)
{
printf("\40: The num equal %d \n",num);
num++;
{
static int num=1; /*疑问在这里*/
printf("\40:The internal block num equal %d\n",num);
num++;
}
}
}
运行结果是:
: The num equal 2
:The internal block num equal 1
: The num equal 3
:The internal block num equal 2
: The num equal 4
:The internal block num equal 3

我想问,难道定义了static int num=1,后和全局定义的变量int num=2,两个没有任何影响吗?
搜索更多相关主题的帖子: static 
2007-04-03 17:04
w362034710
Rank: 1
等 级:新手上路
帖 子:169
专家分:0
注 册:2006-12-2
收藏
得分:0 
当然没有影响,,存储的地方不一样,,,
2007-04-03 18:03
v1v1wang
Rank: 1
等 级:新手上路
帖 子:49
专家分:0
注 册:2007-3-25
收藏
得分:0 

因为局部变量会屏蔽全局变量的饿...所以..虽然他们的变量一样..但到了局部变量管辖的范围..全局变量就不起作用了..


2007-04-03 22:02
ffppgg
Rank: 1
等 级:新手上路
帖 子:41
专家分:0
注 册:2007-3-18
收藏
得分:0 

o
谢谢大家,今天他=有收获了!
^_^


2007-04-05 14:44
sunkaidong
Rank: 4
来 自:南京师范大学
等 级:贵宾
威 望:12
帖 子:4496
专家分:141
注 册:2006-12-28
收藏
得分:0 
其实是两个方面:一个,局部变量屏蔽全局变量。还有一个就是static问题,在程序执行过程中static变量始终不释放,赋值仅仅在第一遍执行

学习需要安静。。海盗要重新来过。。
2007-04-05 15:59
快速回复:关于static的一个问题
数据加载中...
 
   



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

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