有以下程序: #include <iostream> using namespace Std; int a; int fun(); int main() { extern int a; i

admin2010-03-29  18

问题 有以下程序:    #include  <iostream>    using namespace Std;    int  a;    int fun();    int main()    {       extern  int  a;       int  b;       a = 100;       b = fun();       cout<<b<<end1;       return 0;    }    int fun()    {       extern  int a;       return  (10*A);    }    其程序运行后的输出结果是(    )。

选项 A、100
B、10
C、1000
D、10000

答案4

解析 本题考核外部变量的使用。先来了解外部变量:外部变量用关键词extern表示。由于外部变量可以被程序中的所有函数共同访问,其作用域为全局,因此也称为全局变量。
   对于外部变量而言,“定义变量”和“说明变量”是两个不同的概念。定义a为外部变量是告诉编译程序,a是一个外部变量,并要求系统为a分配一个固定的永久存储空间。a的值在整个程序的运行期间都存在,只有当定义它的程序运行结束时,它的存储空间才释放。
   外部变量定义后,当程序中的函数要引用外部变量时,应在函数中作引用说明。在此程序中,在第二行定义了一个外部变量a,主函数给外部变量赋的初始值为100,当调用函数fun()时,外部变量a的值传到函数fun()中,因此函数所返回的值为 100*10=1000。
转载请注明原文地址:https://kaotiyun.com/show/2Wjp777K
0

最新回复(0)