/*
*Copyright (c) 2016,烟台大学计算机学院
*All rights reserved.
*文件名称:text.cpp
*作者:陈腾
*完成日期:2016年5月12日
#include <iostream>
using namespace std;
int i=1;//i为全局变量,具有静态生存期
void other()
{
static int a=2;
static int b;//a,b为静态局部变量,具有全局寿命,局部可见,只第一次进入函数式被初始化
int c=10;//c为局部变量,具有动态生存期,每次进入函数时都初始化
a=a+2;
i=i+32;
c=c+5;
cout<<"-----other------"<<endl;
cout<<"i:"<<i<<"a:"<<a<<"b:"<<b<<"c:"<<c<<endl;
b=a;
}
int main()
{
static int a;//a为静态局部变量,具有全局寿命,局部可见
int b=5;
int c=0;//b,c为局部变量,具有动态生存期
cout<<"-----main------"<<endl;
cout<<"i:"<<i<<"a:"<<a<<"b:"<<b<<"c:"<<c<<endl;
c=c+8;
other();
cout<<"-----main------"<<endl;
cout<<"i:"<<i<<"a:"<<a<<"b:"<<b<<"c:"<<c<<endl;
i=i+10;
other();
return 0;
*Copyright (c) 2016,烟台大学计算机学院
*All rights reserved.
*文件名称:text.cpp
*作者:陈腾
*完成日期:2016年5月12日
*版本号:v1.0
问题描述:变量的生存期与可见性
*/#include <iostream>
using namespace std;
int i=1;//i为全局变量,具有静态生存期
void other()
{
static int a=2;
static int b;//a,b为静态局部变量,具有全局寿命,局部可见,只第一次进入函数式被初始化
int c=10;//c为局部变量,具有动态生存期,每次进入函数时都初始化
a=a+2;
i=i+32;
c=c+5;
cout<<"-----other------"<<endl;
cout<<"i:"<<i<<"a:"<<a<<"b:"<<b<<"c:"<<c<<endl;
b=a;
}
int main()
{
static int a;//a为静态局部变量,具有全局寿命,局部可见
int b=5;
int c=0;//b,c为局部变量,具有动态生存期
cout<<"-----main------"<<endl;
cout<<"i:"<<i<<"a:"<<a<<"b:"<<b<<"c:"<<c<<endl;
c=c+8;
other();
cout<<"-----main------"<<endl;
cout<<"i:"<<i<<"a:"<<a<<"b:"<<b<<"c:"<<c<<endl;
i=i+10;
other();
return 0;
}