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

全局变量的困惑!解决方法

2012-03-27 
全局变量的困惑! intx90,y30voidf1(intx){printf( x%d,y%d\n ,x,y)}voidf2(){printf( x%d,y%d\

全局变量的困惑!

int   x=90,y=30;
void   f1(int   x)
{
printf( "x=%d,y=%d\n ",x,y);

}
void   f2()
{
printf( "x=%d,y=%d\n ",x,y);/*这里的X和Y是调用的全局变量还是局部变量*/
}
void   main()
{int   y=20;
          x=10;
printf( "x=%d,y=%d\n ",x,y);
f1(5);
printf( "x=%d,y=%d\n ",x,y);
f2();

      }

在函数f2中,x,y   是调用的全局变量还是局部变量?

[解决办法]
void main()
{int y=20;
x=10;//这里将全局变量x的值变成10
printf( "x=%d,y=%d\n ",x,y);
f1(5);
printf( "x=%d,y=%d\n ",x,y);
f2();//这里打印的都是全局变量,只不过x的值已经变成10
}

y在局部重新声明,所以这里的y是局部变量
在f2();中打印的y是全局变量

热点排行