这一节里讲全局变量的那个例子没听懂,是什么意思啊?最后怎么会输出5 8 5
#include<stdio.h>
int a;
void f()
{
int a;
a=8;
printf("a=%d\n",a);
}
main()
{
a=5;
printf("a=%d\n",a);
f();
printf("a=%d\n",a);
}
先看主函数,在主函数中定义了a=5之后直接输出了,这时候输出a=5。然后就是f函数。f是个空函数,在函数里定义了一个局部变量a同时赋值为8,然后又输出了,所以第二个a=8。第三步又是输出a,还是全局变量a,还是a=5。
不是,按顺序一步一步来的。这道题里先输出主函数里的第一个printf,接着输出f函数里的printf,最后输出主函数里的第二个printf。