下面程序调用fun函数动态分配两个整型存储单元,并通过形参传回这两个整型存储单元的地址给 s1和s
根据下面类中拷贝构造函数的原型写出它的类外定义。
classArray{
int*a;//指向动态分配的整型数组空间
intn;//记录数组长度
public:
Array(intaa[],intnn);//构造函数,利用aa数组长度nn初始化n,
//利用aa数组初始化a所指向的数组空间
Array(Array&aa);//拷贝构造函数
Array&Give(Array&aa);//实现aa赋值给*this的功能并返回*this
ArrayUion(Array&aa);//实现*this和aa中的数组合并的
//功能,把合并结果存入临时对象并返回
intLenth(){returnn;}//返回数组长度
voidPrint(){//输出数组
for(inti=0;i<n;i++)
cout<<a[i]<<'';
cout<<endl;
}
};
以下程序通过函数指针p调用函数fun,请在填空栏内,写出定义变量p的语句。 void fun (int*x,int*y) {……} main() { int a=10,b=20; ______;严定义变量p*/ p=fun;p(&a,&b); ……}
下面程序应能对两个整型变量的值进行交换。以下正确的说法是()。 Void swap(int p,int q) { int t; t=p, p=q; q=t; ) void 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); )
A.该程序完全正确
B.该程序有错,只要将语句“swap(&a,&b);”中的参数改为a,b即可
C.该程序有错,只要将swap函数中的形参p和q以及t均定义为指针(执行语句不变)即可
D.以上说法都不对
有以下程序: char fun(char x,char y) { if(x<y)return x; return Y; } void main() { int a=‘9’,b=‘8’,C=‘7’; printf(“%c\n”,fun(fun(a,b),fun(b,C))); } 程序的执行结果是()。
A.函数调用出错
B.8
C.9
D.7
在C程序中,可以把整型数据以二进制形式存放到文件中的函数是()。
A.fopen
B.fseek
C.fwrite
D.fputc
以下程序调用随机函数得到N个20以内的整数放在s数组中。函数fun的功能是找出s数组中的最大数(不止一个)所在下标传回主函数进行输出,并把最大值作为函数值返回,请填空。 define N 30 man() { int s[N],d[N],i,k,m; for(i=0,i<N;i++){s[i]=rand()%20;printf("%3d",s[i]);} m=fun(【 】); printf("m=%d\n",m); printf(”The index ;\n"); for(i=0;i<k;i++)printf("%4d",d[i]); printf("\n\n"); } fun(int*w,int*d,int * k) { int i,j,m=0,v; for(i=0;i<N;i++) if(w[i]>w[m])【 】; v=w[m]; for(i=0,j=0;i<N;i++) if(w[i]==v)【 】; *k=【 】; return【 】; }
A.PCB
B.正文段
C.堆段
D.栈段