以下关于swap函数的功能叙述中,正确的是()。 Void swap(int a,int b) {int t; t=a;a=b;b=t; }
举一反三
- 定义一个函数实现交换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; }
- 执行以下程序后,输出结果是__________。 #include Void swap(int *x,int *y) {int t; t=*x,*x=*y,*y=t; } Void main( ) {int a=12,b=24; Swap(&a,&b); Printf(“%d,%d”,a,b); }
- 若有定义int a, b;则用( )定义的函数,执行语句swap(&a, &b);后,变量a与b的值没有交换。 A: swap(int *p, int *q) { int *t; t=(int*)malloc(sizeof(int)); //分配4个字节的存储空间给t *t=*p;*p=*q;*q=*t; } B: swap(int*p, int*q) { int t; t=*p;*p=*q;*q=t; } C: swap(int *p, int *q) { int *t; t=p; p=q; q=t; } D: swap(int *p, int *q) { int a, *t=&a; *t=*p; *p=*q; *q=*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;}
- 中国大学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);}