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

admin2009-02-15  17

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

最新回复(0)