有以下程序#include <iostream>using namespace std;int a;int fun ();int main (){ extern int a; int b; a = 100; b = fun();

admin2010-12-16  24

问题 有以下程序#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,主函数main给外部变量赋的初始值为100,当调用函数fun()时,外部变量a的值传到函数fun()中,因此函数所返回的值为100*10=1000。
转载请注明原文地址:https://kaotiyun.com/show/01Vp777K
0

最新回复(0)