有以下程序: #include<stdio.h> int a=1,b=2; void fun1(int a,int b) { printf(″%d%d″,a,b); } void fun2( ) { a=3;b=4; } main( ) { fun1(5,

admin2019-08-10  36

问题 有以下程序:
#include<stdio.h>
int a=1,b=2;
void fun1(int a,int b)
{
printf(″%d%d″,a,b);
}
void fun2( )
{
a=3;b=4;
}
main( )
{
fun1(5,6);fun2( );
printf(″%d%d\n″,a,b);
}
程序运行后的输出结果是(    )。

选项 A、5 6 3 4
B、3 4 5 6
C、1 2 5 6
D、5 6 1 2

答案A

解析 在一个源文件中,如果外部变量和局部变量同名,则在该局部变量的作用域内,该外部变量会被“屏蔽”,所以函数fun1()输出的是局部变量a、b的值:56;fun2()改变的是全局变量a、b的值,输出结果为3 4,答案选A。
转载请注明原文地址:https://kaotiyun.com/show/8gRp777K
0

最新回复(0)