有以下程序 #include <stdio.h> void fun2(char a, charB) { printf("%c %c ",a,b); } char a=’A’, b=’B’; void fun1() { a=’C’;

admin2021-04-28  17

问题 有以下程序
#include <stdio.h>
void  fun2(char  a, charB)
{
    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、A B E F
B、C D E F
C、A B C D
D、C D A B

答案B

解析 本题考察的是变量的作用范围。如果在同一个源文件中,外部变量与局部变量同名,则在局部变量的作用范围内,外部变量被"屏蔽",即不起作用。本题中,在fun1()和main()函数内访问的是全局变量a和b,在fun2()函数中访问的是形参变量a和b。所以,main()函数中的printf()函数输出的是在fun1()函数中被改变的全局变量a和b的值C D,而fun2()函数中输出的是传递给它的实参值E F。因此B选项正确。
转载请注明原文地址:https://kaotiyun.com/show/WHtp777K
0

最新回复(0)