下列程序的运行结果是( )。 #include <stdio.h> void fun(int *a, int *b)

发布时间:2021-04-11 06:11:36

单项选择题:
下列程序的运行结果是( )。
#include <stdio.h>
void fun(int *a, int *b)
int *k;
k=a; a=b; b=k;

main()
int a=3,b=6, *x=&a, *y=&b;
fun(x,y);
printf(%d%d,a,b);
A) 6 3
B) 3 6
C) 编译出错
D) 0 0

网友回答

答案:B
解析: 程序看上去是要实现交换两个指针的值,但是C语言中实参变量和形参变量之间的数据传递是单向的“值传递”,指针变量做函数参数也要遵循这一规则。调用函数不能企图通过改变形参指针的值而使实参指针的值也改变。所以本题的输出结果是36。
以上问题属网友观点,不代表本站立场,仅供参考!