中易网

c++静态局部变量初始化问题

答案:1  悬赏:10  
解决时间 2021-01-21 10:28
c++静态局部变量初始化问题
最佳答案
//--------------这里的a是什么时候初始化的,怎么看不到
这里的a,没被初始化

对于全局变量,如果没初始化的值,C++,可能默认把它们清零。

而C语言,则不去管它。如下:

#include<stdio.h>
int i=1; // i 为全局变量,具有静态生存期。
void main(void)
{
static int a; // a为静态局部变量,具有全局寿命,局部可见
//--------------这里的a是什么时候初始化的,怎么看不到
int b=-10; // b, c为局部变量,具有动态生存期。
int c=0;
void other(void);
printf("---MAIN---\n");
printf("i:%d a:%d b:%d\n",a,b,c);
c=c+8; other();
printf("---MAIN---\n");
printf("i:%d a:%d b:%d\n",a,b,c);
i=i+10; other();
getchar();
}
void other(void)
{
static int a=2;
static int b;
// a,b为静态局部变量,具有全局寿命,局部可见,只第一次进入函数时被初始化。
int c=10; // C为局部变量,具有动态生存期,每次进入函数时都初始化。
a=a+2; i=i+32; c=c+5;
printf("---OTHER---\n");

printf("i:%d a:%d b:%d\n",a,b,c);
b=a;
}

输出:
---MAIN---
i:0 a:-10 b:0
---OTHER---
i:4 a:0 b:15
---MAIN---
i:0 a:-10 b:8
---OTHER---
i:6 a:4 b:15
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
一房一厅一般多少平米
什么是流程的优化?
大家JAVA下开发报表,有什么好的开源产
欧阳修葬在哪里
三星s7 edge可以带上飞机吗?
急求双人小品,5分钟以内的。急。。。。
近视眼镜如何防雾?有什么防雾产品?防雾眼镜
深圳市罗湖区文锦中学地址在什么地方,我要处
跃层风水有哪些讲究
去美国做试管婴儿前要准备什么材料?
凤凰绿郡(北区)在哪里啊,我有事要去这个地方
东风商用车4S店(文昌大道)地址好找么,我有些
如果历代高达主角(包括boss)打肉搏战谁最厉
高中生心悸怎么办
有没有近视镜,偏光镜合为一体的眼镜?
推荐资讯
从美兰机场到上海虹桥机场的飞机票学生票多少
QQ堂虎克船长死了,进入密室能获得什么
求几张长寸头发型帅气照片
有谁知道楼房建筑面积计算方法、住宅销售面积
这尿常规单子正常吗?
久不唱歌忘记歌,怎么编歌词,我四年级。谢谢
被滚油烫伤了该怎么办?
二个月怀孕做四维彩超会不会太早了呢?这个时
两个月小狗抽搐无力体温低
像山穷水尽疑无路,柳暗花明又一村这样的诗句
部落冲突安卓关联苹果
28元减6元3角等于好多
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?