有以下程序 yoidfun2(chara,charb) {printf(’’%c%c’’,a,b);) chara=’A’,b=’B’; yoidfunl( ) {a=’C’;b=’D’;) main( ) {funl( ); print

admin2019-12-17  31

问题 有以下程序
yoidfun2(chara,charb)
{printf(’’%c%c’’,a,b);)
chara=’A’,b=’B’;
yoidfunl(    )
{a=’C’;b=’D’;)
main(    )
{funl(    );
printf(’’%c%c’’a,b);
fun2(’E’,’F’);
}
程序的运行结果是

选项 A、ABEF
B、CDEF
C、abcD
D、CDAB3.8变量的作用域和生存期

答案B

解析 存funl(    )函数之前定义了全局字符变量a和b。这两个变量的作用域是从其定义处到整个程序结束。在fun1(    )函数之内定义了两个变量a和b,并且分别初始化为字符’C’和’D’。在C语言中,若全局变量和某个函数中的局部变量同名,则在该函数中此全局变量被屏蔽,在该函数内访问的是局部变量,与同名的全局变量不发生任何关系。所以在主函数中,执行fun1(    )后,变量a、b的值分别等于’C’、’D’,打印输出CD,接着执行fun2(’E’F’)语句,变量a、b的值变为’E’、’F’并输出。
转载请注明原文地址:https://kaotiyun.com/show/SECp777K
0

随机试题
最新回复(0)