有以下程序 #include void fun( int *p, int *q ) { int t; t = *p; *p = *q; *q=t; *q = *p; } main() { int a=0, b=9; fun ( &a, &b ); pr

admin2020-05-19  45

问题 有以下程序
#include
void fun( int *p, int *q )
{ int t;
t = *p; *p = *q; *q=t;
*q = *p;
}
main()
{ int a=0, b=9;
fun ( &a, &b );
printf( "%d %d\n" , a,b );
}
程序的输出结果是( )。

选项 A、9 9
B、0 0
C、9 0
D、0 9

答案A

解析 考查函数调用的参数传递。该程序调用函数进行的是地址传参,地址传递过程中,形参和实参指向同一个地址空间,两者的改变保持同步。函数fun()的功能是将p和q指向的变量交换,之后将*p赋值给*q。main()函数实参传给*p为0,*q为9。交换后*p为9,*q为0,*p赋值给*q,则 *p、*q均为9,输出结果为A)。
转载请注明原文地址:https://jikaoti.com/ti/LAG0FFFM
0

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