有以下程序          void fun2 (char a,char b)  {printf("%c%c",a,b);}          char a=’A’,b=’B’;          void fun1(){ a=’C’; b=’D’; }

admin2009-03-16  15

问题 有以下程序          void fun2 (char a,char b)  {printf("%c%c",a,b);}          char a=’A’,b=’B’;          void fun1(){ a=’C’; b=’D’; }          main()          { fun1();            printf("%c%c",a,b);            fun2 (’E’,’F’);          }         程序的运行结果是______。

选项 A、CDEF
B、ABEF
C、ABCD
D、CDAB

答案A

解析 本题主要是要区分全局变量和局部变量,全局变量是指在函数之外定义的变量,它的有效范围是从定义变量的位置开始到本源文件结束,函数fun1中用的变量a、b就是全局变量,虽然在定义时给a、b分别赋值为A、B,但在fun1函数中对其值进行了改变,所以调用fun1后输出的a、b的值为’C’和’D’;而fun2中输出的是两个局部形参变量a、b的值,这两变量的值由主函数在调用时赋给它,故输出结果为:E、F。
转载请注明原文地址:https://kaotiyun.com/show/heXp777K
0

最新回复(0)