局部变量 全局变量
这一题中x的值在不同的程序段是如何变化的 应该以怎样一个原则去看其值
这一题中x的值在不同的程序段是如何变化的 应该以怎样一个原则去看其值
2016-03-12
#include <stdio.h>
int x = 77;//声明全局变量x=77
void fn1()
{
printf("fn1(): x=%d\n", x); //此处x是局部变量,在fn1()中未赋值,因此这时x的值跟随全局变量,为77
}
int main()
{
int x = 10;//main函数中的变量,此时x的值为10
if(x>0)
{
int x = 100;//if 块中的x变量,值为100
x /= 2;//x=x/2,值为50
printf("if语句内, x=%d\n", x);//x=50
}
printf("main方法内, x=%d\n", x);//x=10
fn1();
return 0;
}
这里是局部变量和全局变量的区别,在源程序的某个部分,局部变量的优先级是高于全局变量的。同时,在某个程序段中,全局变量和局部变量的名字是可以相同的。
举报