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

admin2021-04-28  39

问题 有以下程序:
#include<stdio.h>
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);
fut2(’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()函数内访问的是全局变量8和b,在fun2()函数中访问的是形参变量a和b。所以,main()函数中的printf()函数输出的是在fun1()函数中被改变的全局变量a和b的值C、D,而fun2()函数中输出的是传递给它的实参值E、F。因此B选项正确。
转载请注明原文地址:https://jikaoti.com/ti/DDz0FFFM
0

最新回复(0)