设函数void swap(int &a,int&b)将交换两形参的值,如两整型变量int a=10;int b=15; 则执行swap(a,b)后,a、b值分别为( )
举一反三
- 从函数的声明来看,调用以下那几个函数有可能实现函数外的两个数据的交换? 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) //对象值传递
- 有函数swap:void swap(int *a, int *b){int *temp;temp=a, a=b, b=temp;}以下描述正确的是_____ A: int a=5, b=9; swap(a, b); 执行后a的值是9,b的值是5 B: int a=5, b=9; swap(a, b); 执行后a的值是5,b的值是9 C: int a=5, b=9; swap(&a, &b); 执行后a的值是9,b的值是5 D: int a=5, b=9; swap(&a, &b); 执行后a的值是5,b的值是9
- 中国大学MOOC: 下列程序调用swap函数交换a和b的值,并输出交换后的a和b的值。程序的输出结果是:After swap 5, 3。void swap( int *p, int *q ){ int t; t=*p; *p=*q; *q=t;}void main( ){ int a=3, b=5; swap(______________________) ; printf(After swap %d, %d, a, b);}
- 能够实现两数交换功能的函数是() 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}
- 下面程序应能对两个整型变量的值进行交换。以下正确的说法是__________。 int main() { int a=10,b=20; printf("%d,%d",a,b); swap(&a,&b); printf("%d,%d",a,b); return 0; } void swap(int p,int q) { int t; t=p;p=q;q=t; }