全部问题 > 当前问题

这一节里讲全局变量的那个例子没听懂,是什么意思啊?最后怎么会输出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);
}

 

2015-8-14 19:23:38

共 3 个回答

最佳答案

ゞ*Boy.Racer. 2015-8-14 19:36:10

先看主函数,在主函数中定义了a=5之后直接输出了,这时候输出a=5。然后就是f函数。f是个空函数,在函数里定义了一个局部变量a同时赋值为8,然后又输出了,所以第二个a=8。第三步又是输出a,还是全局变量a,还是a=5。

2015-8-14 19:39:23

回复 ゞ*Boy.Racer.:先输出主函数里的两个输出再输出f函数的?

ゞ*Boy.Racer. 2015-8-14 21:09:16

不是,按顺序一步一步来的。这道题里先输出主函数里的第一个printf,接着输出f函数里的printf,最后输出主函数里的第二个printf。

问题来自: 函数