已知主函数中通过如下语句序列实觋对函数模板swap的调用: inta[10],b[1O]; swap(a,b,10); 下列对函数模板swap的声明中,会导致上述语句序列发生编译错误的是( )。
A.template<typcnameT> voidswap(Ta[],Tb[],intsize);
B.template<typcnameT> voidswap(intsize,Ta[],Tb[]);
C.template<typenameT1,typenameT2> voidswap(T1a[],T2b[],intsize);
D.template<classT1,classT2> voidswap(T1a[],T2b[],intsize);
第1题:
A.fun(b);
B.fun(&c);
C.fun(&a[3]);
D.fun(b[11]);
第2题:
1、下面代码能够实现交换操作的函数有()
A.swap(int a,int b) { int t=a;a=b;b=t;}
B.swap(int *a,int *b) {int *c;*c=*a;*a=*b;*b=*c;}
C.swap(int *a,int *b) {int *c;c=a;a=b;b=c;}
D.swap(int &a,int &b) {int c=a;a=b;b=c;}
E.swap(int *a,int *b) {int c=*a;*a=*b;*b=c;}
第3题:
下面程序欲对两个整型变量的值进行交换,以下正确的说法是 。main() {int a=10,b=20; printf("(1)a=%d,b=%dn",a,b); swap(&a,&b); printf("(2)a=%d,b=%dn",a,b); } swap (int p,int q) {int t; t=p;p=q;q=t;}
A.该程序完全正确
B.该程序有错,只要将语句swap(&a,&b);中的参数改为a,b即可
C.该程序有错,只要将swap()函数中的形参p、q和变量t均定义为指针即可
D.以上说法都不正确
第4题:
利用引用,实现一个swap函数,实现两个整数值的互换。 其可以进行如下应用: int a=10, b=20; swap(a,b) 执行完后,a的值为20,b的值为10。 实现该函数
第5题:
1、设有下列变量定义与函数声明,则合法的函数调用语句是()。 int x,y; void swap(int *p,int *q);
A.swap(x,y);
B.swap(*x,*y);
C.swap(&x,&y);
D.swap(p,q);