问题
单项选择题
主调函数中的两个变量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是正确的。