- 下面程序片段,哪一个是正确的? D
A.int n=4; int &r=n*3;
B.int m=5; const int &r=m; r=6;
C.int n=8; const int &p=n; int &q=p ;
D.int n=8; int &p=n; const int q=p ;
- 以下程序中,new语句干了什么。 C
int** num; num = new int* [20];
A.分配了长度为20的整数数组空间,并将首元素的指针返回。
B.分配了一个整数变量的空间,并将其初始化为20。
C.分配了长度为20的整数指针数组空间,并将num[0]的指针返回。
D.存在错误,编译不能通过。
- 以下程序存在的问题是: C
void fun()
{
int *num1, *num2;
num1 = new int[10];
num2 = new int[20];
num1[0] = 100;
num2[0] = 300;
num1 = num2;
delete [] num1;
}
A.num2不能给num1赋值
B.num2最初指向的空间没有释放
C.num1最初指向的空间没有释放
D.程序没有问题