33 lines
		
	
	
		
			922 B
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			33 lines
		
	
	
		
			922 B
		
	
	
	
		
			C++
		
	
	
	
	
	
| #include<iostream>
 | ||
| using namespace std;
 | ||
| int i=1;  // i 为全局变量,具有静态生存期。
 | ||
| int main(void)   
 | ||
| { 
 | ||
|     static int a;  // 静态局部变量,有全局寿命,局部可见。
 | ||
|     int b=-10;  // b, c为局部变量,具有动态生存期。
 | ||
|     int c=0;
 | ||
|     void other(void);
 | ||
|     cout<<"---MAIN---\n";
 | ||
|     cout<<" i: "<<i<<" a: "<<a<<" b: "<<b<<" c: "<<c<<endl;//1 0 -10 0
 | ||
|     c=c+8;  other();// 33 4 0 15
 | ||
|     cout<<"---MAIN---\n";
 | ||
|     cout<<" i: "<<i<<" a: "<<a<<" b: "<<b<<" c: "<<c<<endl;//33 0 -10 8 
 | ||
|     i=i+10; other();  //75 6 4 15
 | ||
|     other(); //107 8 6 15
 | ||
|     system("pause");
 | ||
|     return 0;
 | ||
| }
 | ||
| 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;
 | ||
|     cout<<"---OTHER---\n";
 | ||
|     cout<<" i: "<<i<<" a: "<<a<<" b: "<<b<<" c: "<<c<<endl;
 | ||
|     b=a;
 | ||
| }
 |