问题 单项选择题

有以下程序:
#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

答案

参考答案:C

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

单项选择题
单项选择题