柠檬试题库
search
首页 计算机 公务员 驾照 关于

有以下程序 #include void fun( int *a,int *b) { int *c; c=a;a=b;b=c; } main() { int x=3, y=5, *p=&x, *q=&y ; fun(p,q); printf("%d,%d,",*p,*q); fun(&x,&y); printf("%d,%d\n",*p,*q); } 程序运行后的输出结果是


  • A.3,5,3,5
  • B.3,5,5,3
  • C.5,3,3,5
  • D.5,3,5,3
热度🔥697
参考答案:A
解析:

【解析】fun函数的功能是交换形式参数的值,即交换指针变量a和b的值,但是fun函数并不能够交换实参的值,因此fun(p,q)不能交换p和q的值,所以第一个printf语句的输出为3,5。第二个fun函数对x和y的地址进行了操作,同样不能交换x和y的值,并不能影响p和q指针指向的数据,因此第二个printf语句的输出也是3,5。因此A选项正确。
复制题目向AI提问