单选题已知主函数中通过如下语句序列实现对函数模板swap的调用:int a[10],b[10];swap(a,b,10);下列对函数模板swap的声明中,会导致上述语句序列发生编译错误的是(  )。Atemplatetypename Tvoid swap(T a[],T b[],int size);Btemplatetypename Tvoid swap(int size,T a[],T b[]);Ctemplatetypename T1,typename T2void swap(T1 a[],T2 b[],int size);Dtemplateclass T1,class T2void swap(T1 all,T2 b[],int size);

单选题
已知主函数中通过如下语句序列实现对函数模板swap的调用:int a[10],b[10];swap(a,b,10);下列对函数模板swap的声明中,会导致上述语句序列发生编译错误的是(  )。
A

template<typename T>
void swap(T a[],T b[],int size);

B

template<typename T>
void swap(int size,T a[],T b[]);

C

template<typename T1,typename T2>
void swap(T1 a[],T2 b[],int size);

D

template<class T1,class T2>
void swap(T1 all,T2 b[],int size);


参考解析

解析:
函数模板swap的声明应将第一、二个参数设为数组变量,第三个参数为整型变量。

相关考题:

以下程序的输出结果是 【 11 】 。#include stdio.hvoid swap(int *a,int *b){ int *t;t=a; a=b; b=t;}main(){ int i=3,j=5,*p=i,*q=j;swap(p,q); printf("%d %d\n",*p,*q);}

下面程序应能对两个整型变量的值进行交换。以下正确的说法是main(){int a=10,b=20;printf("(1)a=%d,b=%d\n",a,b);swap(a,b);printf("(2)a=%d,b=%d\n",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.以上说法都不对

以下程序调用函数swap将指针s和t所指单元(a和B)中的内容交换,请填空。 main() {int a=10,b=20,*s,*t; s=a;t=b; ( ) printf("%d%d",a,B); } swap(int*ss,int*tt) {int te; te=*ss; *ss=*tt; *tt=te; }

有以下程序: void swap1(int * a,int * b) {int* c=a; a=b,b=c; } void swap2(int * a,int * b) { int c=* a; * a=*b,*b=c; } main() {int a=10,b=15; swap 1(a,b) ; printf("%d,%d,",a,b) ; a=10,b=15; swap 2(a,b) ; printf("%d,%d",a,b) ; } 其输出结果为 ______。A.15,10,10,15B.15,10,15,10C.10,15,10,15D.10,15,15,10

下列程序的输出结果是【 】。include void swap(int *a, int *B) { int *t; t=a;a=b;b=t; 下列程序的输出结果是【 】。include <stdio.h>void swap(int *a, int *B){int *t;t=a;a=b;b=t;}main(){int i=3,j=5,*p=i,*q=j;swap(p,q);printf("%d %d\n",*p,*q);}

以下程序的输出结果是______。include void swap(int *a, int *b){ int *t;}{ int i=3,j 以下程序的输出结果是______。include <stdio.h>void swap(int *a, int *b){ int *t;}{ int i=3,j=5,*p=i,*q=j;swap(p,q); printf("%d %d\n",*p,*q);

已知一个函数模板定义为: template T1 FUN(T2 n){return n*5.0;} 若 已知一个函数模板定义为:template<typename T1, typename T2>T1 FUN(T2 n){return n*5.0;}若要求以int型数据7为函数实参调用该模板函数,并返回一个double型数据,则该调用应表示为______。

定义int*swap()指的是______。A.一个返回整型值的函数swap()B.一个返回指向整型值指针的函数swap()C.一个指向函数swap()的指针,函数返回一个整型值D.以上说法均错

下面程序应能对两个整型变量的值进行交换。以下正确的说法是 include void swap 下面程序应能对两个整型变量的值进行交换。以下正确的说法是 #include<iostream.h> void swap(int p,int q) { int t; t=p; p=q; q=t;} void main( ) { int a=10,b=20; cout<<a<<" "<<b; swap(a,b); cout<<a<<" "<<b;}A.该程序完全正确B.该程序有错,只要将语句swap(a,b);中的参数改为a,b即可C.该程序有错,只要将swap( )函数中的形参p和q以及t均定义为指针(执行语句不变)即可D.以上说法都不对

下面程序的输出结果是()。includeusing namespace std;void swap(int x[2]){int t; t= 下面程序的输出结果是( )。 #include<iostream> using namespace std; void swap(int x[2]) { int t; t=x[0]; x[0]=x[1]; x[1]=t; } void main() { int a[2]={4,8}; swap(a); cout<<a[0]<<" "<<a[1]; }A.4 8B.8 4C.4 4D.8 8

有如下模板声明:templatetypename T1,typename 12class A;下列声明中,与上述声明不等价的是A.templateclass T1,class T2class A;B.templateclass T1,typename T2class A;C.templatetypename TI,class T2class A;D.templatetypename T1,T2class A;

定义int*swap()指的是 ______。A.一个返回整型值的函swap()B.—个返回指向整型值指针的swap()C.一个指向函数swap()的指针,函数返回一个整型值D.以上说法均错

定义int* swap()指的是______。A.—个返回整型值的函数swap()B.—个返回指向整型值指针的函数swap()C.—个指向函数swap()的指针,函数返回一个整型值D.以上说法均错

定义int*swap()的是_______。A.一个返回整型值的函数swap()B.一个返回指向整型值指针的函数swap()C.一个指向函数swap()的指针,函数返回一个整型值D.以上说法均错

有如下函数模板: templatetypename T.typename U T east(U u)i return u;} 其功能是将U类型数据转换为T类型数据。已知i为int型变量,下列对模板函数cast的调用中正确的是( )。A.cast(i);B.cast(i);C.eastchar*,int(i);D.eastdouble,int(i);

定义int*swap()指的是______。A.—个返回整型值的函数swap()B.一个返回指向整型值指针的函swap()C.一个指向函数swap()的指针,函数返回一个整型值D.以上说法均错

已知主函数中通过如下语句序列实觋对函数模板swap的调用: inta[10],b[1O]; swap(a,b,10); 下列对函数模板swap的声明中,会导致上述语句序列发生编译错误的是( )。A.templatetypcnameT voidswap(Ta[],Tb[],intsize);B.templatetypcnameT voidswap(intsize,Ta[],Tb[]);C.templatetypenameT1,typenameT2 voidswap(T1a[],T2b[],intsize);D.templateclassT1,classT2 voidswap(T1a[],T2b[],intsize);

有以下程序的输出结果是( ) void swap1(int c[ ]) { int t; t=c[0];c[0]=c[1];c[1]=t; } void swap2(int c0,int c1) { int t; t=c0;c0=c1;c1=t; } main( ) { int a[2]={3,5},b[2]={3,5}; swap1(a); swap2(b[0],b[1]); printf(“%d %d %d %d\n”,a[0],a[1],b[0],b[1]); }A.5 3 5 3B.5 3 3 5C.3 5 3 5D.3 5 5 3

下面程序的运行结果是void swap(int *a,int *b){ int *t; t=a;a=b;b=t;}main(){ int x=3,y=5,*p=x,*q=y; swap(p,q); printf("%d%d\n",*p,*q);}

有以下程序: void swap1(int *a,int *b) {int *c=a; s=b,b=c; } void swap2(int *a.int *b) { int c=*a; *a=*b,*b=c; } main() {int a=10, b=15; swap 1(a,b) ; printf("%d,%d,",a,b) ; a=10,b=15; swap2(a,b) ; printf("%d,%d",a,b) ; } 其输出结果为______。A.15,10,10,15B.15,10,15,10C.10,15,10,15D.10,15,15,10

有以下程序:includevoid swap1(int c[]){int t; t=c[0]; c[0]=c[1]; c[1]=t;}void swa 有以下程序: #include <stdio.h> void swap1(int c[]) { int t; t=c[0]; c[0]=c[1]; c[1]=t; } void swap2(int c0,int c1) { int t; t=c0; c0=c1; c1=t; } main() { int a[2]={3,5},b[2]={3,5}; swap1(a); swap2(b[0],b[1]); printf("%d%d%d%d\n",a[0],a[1],b[0],b[1]); } 其输出结果是( )。A.5 3 5 3B.5 3 3 5C.3 5 3 5D.3 5 5 3

以下程序调用函数swap将指针s和t所指单元(a和b)中的内容交换,请填空。

下面程序和运行运行结果是【 】。void swap(int * a,int * b){ int * t;t=a; a=b; b=t;}main( ){ intx=3,y=5,* p=&x,* q=&y;swap(p,q);prinff("%d %d\n", *p, *q);}

以下程序的输出结果是( )。 include void swap(int*a,int*B){int*t; t=a;a=b;b=c;} main 以下程序的输出结果是( )。 include<stdio.h> void swap(int*a,int*B){int*t; t=a;a=b;b=c;} main() {int i=3,j=5,*p=i,*q=j; swap(p,q);printf("%d %d\n",*p,*q); }

下面函数swap_p的功能是完成交换两个指针的操作。请按指定的顺序在题后的相应序号后填上适当的内容,使之成为完整正确的函数。swap_p(s,t)int(),();{int*term;term=();*s=();*t=_();}A、s(或t);*t(或*s);*s;*t;term;B、**s(或**t);**t(或**s);*s;*t;term;C、**s(或**t);**t(或**s);s;t;*term;D、s(或**t);t(或**s);*s;*t;term;

单选题以下选项中,不能对主函数中变量i和j的值进行交换的程序是(  )。A#include stdio.hvoid swap(int *p, int *q){ int *t; *t = *p; *p = *q; *q = *t;}main(){ int i=10, j=20,*a=i,*b=j; swap(a,b); printf(i=%d j=%d,i,j);}B#include stdio.hvoid swap(int *p, int *q){ int t; t = *p; *p = *q; *q = t;}main(){ int i=10,j=20,*a=i,*b=j; swap(a,b); printf(i=%d j=%d,i,j);}C#include stdio.h#include stdlib.hvoid swap(int *p, int *q){ int *t; t = (int *)malloc(sizeof(int)); *t = *p; *p = *q; *q = *t; free(t);}main(){ int i=10,j=20; swap(i,j); printf(i=%d j=%d,i,j);}D#include stdio.hvoid swap( int *p, int *q){ int t; t = *p; *p = *q; *q = t;}main(){ int i=10,j=20,*x=i,*y=j; swap(x,y); printf(i=%d j=%d,i,j);}

单选题下面函数swap_p的功能是完成交换两个指针的操作。请按指定的顺序在题后的相应序号后填上适当的内容,使之成为完整正确的函数。swap_p(s,t)int(),();{int*term;term=();*s=();*t=_();}As(或t);*t(或*s);*s;*t;term;B**s(或**t);**t(或**s);*s;*t;term;C**s(或**t);**t(或**s);s;t;*term;Ds(或**t);t(或**s);*s;*t;term;