| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 791 人关注过本帖
标题:static作用域问题
只看楼主 加入收藏
woweifeng011
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2010-10-28
结帖率:0
收藏
已结贴  问题点数:20 回复次数:6 
static作用域问题
#include<stdio.h>
//int x=3;
main()
{
 
    int a=1,b;
 static int x=1;
 x*=x+1;
b=x+a;

printf("%d\n",b);
}这里的b结果为3,这里的x不是定义成静态变量了吗?x*=x+1对x赋值能改变x的值?
我是初级,望高人指点!!
搜索更多相关主题的帖子: static 
2010-10-28 23:48
cacker
该用户已被删除
收藏
得分:4 
提示: 作者被禁止或删除 内容自动屏蔽
2010-10-29 00:23
hf_gorden
Rank: 2
等 级:论坛游民
帖 子:33
专家分:45
注 册:2010-10-18
收藏
得分:4 
回复 2楼 cacker
const也能改变
收到的鲜花
2010-10-29 08:42
fish124423
Rank: 1
等 级:新手上路
帖 子:3
专家分:4
注 册:2010-10-29
收藏
得分:4 
main()
{

    int a=1,b;
static int x=1;
x*=x+1;//x=2
b=x+a;//a=1 x=2

printf("%d\n",b);
}
x*=(x+1)//这里的 x不等于2那等于几呢?
c=x+1;
x*=c;和上面等效

x*=x++ 或者x*=++x
收到的鲜花
2010-10-29 17:39
woweifeng011
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2010-10-28
收藏
得分:0 
多谢各位!
2010-10-30 13:14
vfdff
Rank: 6Rank: 6
等 级:侠之大者
威 望:8
帖 子:2172
专家分:425
注 册:2005-7-15
收藏
得分:4 
    int a=1,b;
static int x=1;
x*=x+1; // x *=(x+1) -> x *=2 -> x = 1*2 = 2
b=x+a;  // b = 2 + 1 = 3

~~~~~~~~~~~~~~~好好学习~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2010-10-30 20:00
快速回复:static作用域问题
数据加载中...
 
   



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

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