C语言习题-有关全局变量

来源:百度知道 编辑:UC知道 时间:2024/06/30 09:15:45
下面的程序执行完后全局变量n的值是?
int n=1;
main()
{static int x=5;int y;
y=n;
func();
func();}
func()
{static int x=4;int y=10;
x=x+2;
n=n+10;
y=y+n;
}

21
全局变量只是作用域和局部变量不同而已
比如你在主函数力定义的x和y就是局部变量,只在主函数里有效
但n在该文件的所有函数中都有效

21
n=n+10执行了两次

还是1,原因是FUNC函数没有返回值.
int n=1; /*定义全局变量*/
main()
{
static int x=5;int y;
y=n; /*把N的值赋给Y*/
func(); /*函数调用*/
func(); /*函数再次调用*/
}
func() /*函数定义*/
{
static int x=4;int y=10;
x=x+2; /*X自加2*/
n=n+10; /*N自加10*/
y=y+n; /*Y自加N,这时的N是指已经进行自加运算后的N*/
}
如果是用指针写的话N就会变.