首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

麻烦帮解析下代码运行结果解决办法

2012-02-23 
麻烦帮解析下代码运行结果#includeiostream.hint global_value1void display(void){int local_value1

麻烦帮解析下代码运行结果
#include<iostream.h>
int global_value=1;
void display(void)
 {
  int local_value=1;
  static int static_value=1;
  cout<<"The global value is"<<global_value<<"\n";
  cout<<"The local value is"<<local_value<<"\n";
  cout<<"The static value is"<<static_value<<"\n";
  global_value=global_value+1;
  local_value=local_value+1;
  static_value=static_value+1;
  return;
 }
  int main()
  {
  while(global_value<4) display();
  return 0;
  }

为什么输出的local value 3次都是1呢,没有变呢,而其他两个则有增了呢?


[解决办法]
int local_value=1;
这是一个局部变量,在display函数结束时,就会销毁掉。
当你再次进入display函数时,这个变量还是被初始化为1.
[解决办法]
最上面那个gobal是全局变量 
 static int static_value=1 这个是静态局部变量 第一次定义后 重复定义会被忽略
local value 这个是局部变量 每次调用函数都会重新定义

热点排行