从函数的定义来看,调用以下那几个函数有可能实现函数外的两个数据的交换?
A: void Swap(int x, int y) //值传递,交换函数内的数据{ int t = x; x = y; y = t;}
B: void Swap(int & x, int & y) //引用传递,通过引用交换函数外的数据{ int t = x; x = y; y = t;}
C: void Swap(int * x, int * y) //指针传递,通过指针交换函数外的数据{ int t = *x; *x = *y; *y = t;}
D: void Swap(int * x, int * y) //指针传递,交换指针的指向{ int *t = x; x = y; y = t;}
A: void Swap(int x, int y) //值传递,交换函数内的数据{ int t = x; x = y; y = t;}
B: void Swap(int & x, int & y) //引用传递,通过引用交换函数外的数据{ int t = x; x = y; y = t;}
C: void Swap(int * x, int * y) //指针传递,通过指针交换函数外的数据{ int t = *x; *x = *y; *y = t;}
D: void Swap(int * x, int * y) //指针传递,交换指针的指向{ int *t = x; x = y; y = t;}
举一反三
- 从函数的声明来看,调用以下那几个函数有可能实现函数外的两个数据的交换? A: void Swap(int x, int y) //值传递 B: void Swap(int & x, int & y) //引用传递 C: void Swap(int * x, int * y) //指针传递 D: void Swap(Point x, Point y) //对象值传递
- 定义一个函数实现交换x和y的值,并将结果正确返回。能够实现此功能的是()。 A: swap(int x, int y){ int t;<br/>t=x; x=y; y=t; } B: swap(int *x, int *y){ int<br/>t; t=x; x=y; y=t; } C: swap(int *x, int *y){ int<br/>t; t= *x; *x = *y; *y=t; } D: swap(int *x, int *y){ int<br/>*t; t=x; x=y; y=t; }
- 要求函数的功能是交换x和y中的值,且通过正确调用返回交换结果。能正确实现此功能的函数是 A: void funa(int *x , int *y) { *x=*x+*y;*y=*x-*y;*x=*x-*y; } B: void funa(int *x , int *y) { int t = *x; *x = *y; *y = t; } C: void funa(int *x , int *y) { int *p; *p=*x;*x=*y;*y=*p; } D: void funa(int x , int y) { int t; t=x;x=y;y=t; } E: int funa(int *x , int *y) { *x=*y;*y=*x; }
- 能够实现两数交换功能的函数是() A: void Swap(int x,int y){int pTemp;pTemp=x;x=y;y=pTemp;} B: void Swap(int *x,int *y){int *pTemp;*pTemp=*x; *x=*y; *y=*pTemp;} C: void Swap(int *x,int *y){int *pTemp;pTemp=x; x=y; y=pTemp} D: void Swap(int *x,int *y) {int pTemp;pTemp=*x; *x=*y; *y=pTemp}
- 要求函数的功能是交换x和y中的值,且通过正确调用返回交换结果。能正确实现此功能的函数是 A: void funa(int *x , int *y) { *x=*x+*y;*y=*x-*y;*x=*x-*y; } B: void funa(int *x , int *y) { int *p; *p=*x;*x=*y;*y=*p; } C: void funa(int x , int y) { int t; t=x;x=y;y=t; } D: int funa(int *x , int *y) { *x=*y;*y=*x; }