有以下程序: #include void fu,12(char a,eharb) { printf("%c%c",a,b); } char a=’A’,b=’B’; void funl( )

admin2021-07-09  16

问题 有以下程序:
    #include
    void fu,12(char a,eharb)
    {
    printf("%c%c",a,b);
    }
    char a=’A’,b=’B’;
    void funl( )
    {
    a=’C’;
    b=’D’;
    }
    main( )
    {
    funl( );
    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

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

最新回复(0)