全局变量的困惑!解决方法
全局变量的困惑!
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是全局变量
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是全局变量