从函数的声明来看,调用以下那几个函数有可能实现函数外的两个数据的交换?
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) //对象值传递
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) //对象值传递
举一反三
- 从函数的定义来看,调用以下那几个函数有可能实现函数外的两个数据的交换? 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 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}
- void swap(int, int); void main(){int a=3,b=5; printf(“a=%d, b=%d”,a,b); swap(a, b); printf(“a=%d, b=%d”,a,b); } void swap(int x, int*y); {int temp = x; x=y; y=temp;} 这段程序计算结果是
- 有如下函数定义:void swap(int x,int y) { int temp; temp=x; x=y; y=temp; }在运行如下语句后, a=1;b=2; swap(a,b);a的值为 。
- 以下程序的输出结果是( )。main(){ int x=1,y=2; void swap(int x,int y); swap(x,y); printf("x=%d,y=%d\n",x,y);}void swap(int x,int y){ x=3,y=4;} A: x=3,y=4 B: x=1,y=2 C: x=3 y=4 D: x=1 y=2