问题 单项选择题

主调函数中的两个变量a和b,要求调用函数交换a、b的值,返回交换结果,则以下正确的函数是______。

A.funa(int*x,int* {int*p; *p=*x;*x=*y;*y=*p; }

B.funb(int x,int{int t; t=x;x:y=y=t;}

C.func(int*x,int* {*x=*y;*y=*x;}

D.fund(int *x,int* {*x=*x+*y;*y=*x-*y;*x=*x-*y;}

答案

参考答案:D

解析:[分析]选项A中指针变量p没有明确的指向,选项B是值传递方式,显然不能改变实参中的值,选项C不能完成交换,实参中的值都变成一样的,只有选项D是正确的。

单项选择题
单项选择题