对于以下函数声明 void fun(int array[4],int+ptr);以下叙述中正确的是()。A.array,ptr都是指
对于以下函数声明
void fun(int array[4],int+ptr);以下叙述中正确的是()。
A.array,ptr都是指针变量
B.调用fun函数时,实参的值将逐一复制给array
C.调用fun函数时,array按值传送,ptr按地址传送
D.array是数组,ptr是指针,它们的性质不同
对于以下函数声明
void fun(int array[4],int+ptr);以下叙述中正确的是()。
A.array,ptr都是指针变量
B.调用fun函数时,实参的值将逐一复制给array
C.调用fun函数时,array按值传送,ptr按地址传送
D.array是数组,ptr是指针,它们的性质不同
若有函数 void fun(double a[]。int*n) {…} 以下叙述中正确的是()。
A.调用fun函数时只有数组执行按值传送,其他实参和形参之间执行按地址传送
B.形参a和n都是指针变量
C.形参a是一个数组名,n是指针变量
D.调用fun函数时将把double型参数组元素一一对应地传送给形参a数组
A.void fun() friend class A;
B.Friend class A{private: int i; void fun();};
C.class A{private: int i; friend fun();};
D.class A{private: int i; friend void fun();};
下面函数的功能是将字符变量的值插入已经按ASCII码值从小到大排好序的字符串中。
void fun(char *w,char x,int *n)
{ int i,p=0;
while(x>w[p]) ①;
for(i=*n;i>=p;i--) ②;
w[p]=x;
++*n;
}
以下代码有什么问题?
struct Test
{
Test(int ) {}
Test() {}
void fun() {}
};
void main(void )
{
Test a(1);
a.fun();
Test b();
53
b.fun();
}
面试题:赋值运算符函数
题目:如下为类型CMyString 的声明,请为类型添加赋值运算符函数。
classCMyString
{
public :
CMyString (char* pData=NULL);
CMyString (const CMyString& str);
~CMyString (void);
private:
char* m_pData;
};
面试题:用两个栈实现队列
题目:用两个栈实现一个队列。队列的声明如下,请实现它的两个函数appendTaik和deleteHead,分别完成在队列尾部插入结点和在队列头部删除结点的功能。
template <typename T>class CQueue
{
public:
coueue (void);
~CQueue (void)j
void appendTail (constT&node);
T deleteHead();
private:
stack<T> stack1;
stack<T> stack2;
};
有以下程序
#include<stdi0.h>
void fun(int n,int*p)
(int f1,f2;
if(n==1|| n==2)*p=1;
else
{ fun(n-1,&f1);fun(n-2,&f2);
*p=f1+f2;
}
}
main
{ int s;
fun(3,&s);printf("%d",s);
}
程序的运行结果是()。
A.2
B.3
C.4
D.5
有以下程序: #include<stdio.h> void fun(char *a,char*B){while(*a=='*')a++; while(*b=*A){b++;a++;} } main() {char*s="****a*b****",t[80]; fun(s,t);puts(t); } 程序的运行结果是()。
A.*****a*b
B.a*b
C.a*b****
D.ab
有以下程序: #include<stdio.h> void fun(char*C,int d) {*c=*c+1,d=d+1; printf(%"c%,c",*c,d); } main() {char b=aa=A; fun(&b,a);printf(%"c,%c\n",b,a); ) 程序运行后的输出结果是()。
A.b,B,b,A
B.b,B,B,A
C.a,B,B,a
D.a,B,a,B