有以下程序 #include int d=1; void fun( int p ) { int d=5; d += p++; printf("%d ", d ); } main() { int a=3; fun( a ); d += a++; pri

admin2020-07-28  44

问题 有以下程序
#include
int d=1;
void fun( int p )
{
int d=5;
d += p++;
printf("%d ", d );
}
main()
{
int a=3;
fun( a );
d += a++;
printf("%d\n",d);
}
程序的输出结果是( )。

选项 A、8 4
B、9 6
C、9 4
D、8 5

答案A

解析 函数的参数传递过程中,形参只是实参的一个副本,形参改变不能影响到实参。若外部变量和局部变量同名,则在该局部变量的作用域内,该外部变量会被"屏蔽"。所以调用函数fun(a)时,使用的变量d为5,d=5+3=8,输出结果为8;main()函数内,使用的为全局变量d,a值没有改变,d=1+3=4,输出结果为4,所以答案选A。
转载请注明原文地址:https://kaotiyun.com/show/oB3p777K
0

相关试题推荐
最新回复(0)