计算机二级

下列语句中正确的是()。A.int * p;i=8; p=&i;B.int * p,i; p=&i;C.float * p;int i;p=&am下列语句中正确的是( )。A.int * p;i=8; p=&i;B.int * p,i; p=&i;C.float * p;int i;p=&(float)i;D.float * p;cout<<* p;

题目
下列语句中正确的是()。A.int * p;i=8; p=&i;B.int * p,i; p=&i;C.float * p;int i;p=&am

下列语句中正确的是( )。

A.int * p;i=8; p=&i;

B.int * p,i; p=&i;

C.float * p;int i;p=&(float)i;

D.float * p;cout<<* p;

参考答案和解析
正确答案:B
解析:选项A中的变量i没有定义就使用了;选项C(float)i把i中的数据取出后变为float型,就是一个数值,“&(float)i”不能得到i的地址;选项D中的指针变量,p没有赋值就使用,它到底指向哪个存储单元没有指明,它可能指向不可读取的存储单元,这时的破坏性很大。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

若有下面语句“int i , a[5] ; int *p ; p=a; ”,则____是对数组元素的错误表示。

A.*(a+i)

B.p[i]

C.*(p+i)

D.p+i


pa是一个具有5个元素的指针数组,每个元素是一个int型指针

第2题:

若有下面语句“int i =2 , a[5] ; int *p ; p=a; ”;则()是对数组元素的错误表示

A.*(a+i)

B.p[i]

C.*(p+i)

D.p+i


p+i

第3题:

若有下面语句“int i , a[5] ; int *p ; p=a; ”,则()是对数组元素的错误表示。

A.*(a+i)

B.p[i]

C.*(p+i)

D.p+i


pa是一个具有5个元素的指针数组,每个元素是一个int型指针

第4题:

下列有关指针的用法中错误的是( )。

A.int i;int *p=&i;

B.int i;int *p;i=*p;

C.int *p;p=0;

D.int i=5;int *p;p=&i;


正确答案:B
解析:“inti;”语句定义了一个整型变量i。“int*p”定义了一个整型指针p。选项A)中的“int*p=&i;”是定义整型指针变量p,并指向整型i的地址。选项B)中“i=*p”语句是将p指向的变量赋值给i,而指针p没有初始化,所以选项B)错误。选项C)中“p=0;”表示p指向0的地址。选项D)中“&i”为取i的地址,并赋值给p。

第5题:

下列有关指针的用法中,错误的是( )。

A.int i;int *p=&i;

B. int i;int *p;i=*p;

C. int *p;p=0;

D.int i=5;int *p;p=&i;


正确答案:B
解析:“int i;”语句为定义了一个整型变量i。“int *p”为定义一个整型指针p。选项A) 中的“int *p=&i;”是定义整型指针变量p,并指向整型i的地址。选项B) 中“i=*p”语句是将p指向的变量赋值给i,而指针p没有初始化,所以选项B) 错误。选项C) 中“p=0;”表示p指向0的地址。选项D) 中“&i”为取i的地址,并赋值给p。

第6题:

程序中有语句:for(inti=0;i<5;i++)cout<<*(p+i)<<",";能够依次输出int型一维数组a的前5个元素。由此可知,变量P的定义及初始化语句是( )。

A.int*p=a;

B.intp=a;

C."p=a;

D.p=a;


正确答案:A
A。【解析】从循环语句中可以看出,是在0到4的循环中输出数组a中的前5个元素,输出的值为*(P+i),即为指针P向后移动指向的元素。所以初始化要将指针P指向数组a,即int*p=a;。

第7题:

程序中有如下语句for(int i=0;i<5;i++)cout<<*(p+i)<<",";能够依次输出int型一维数组a的前5个元素。由此可知,变量P的定义及初始化语句是( )。

A.int*p=a;

B.int p=a;

C.*p=a;

D.p=a;


正确答案:A
解析: 从循环语句中可以看出,是在0~4的循环中输出数组a中的前,5个元素,输出的值为*(p+i),即为指针p向后移动指向的元素。所以初始化要将指针p指向数组a,即int*P=a;。

第8题:

程序中有语句:for(inti=0;i<5;i++)cout<<*(p+i)<<",";能够依次输出int型一维数组a的前5个元素。由此可知,变量P的定义及初始化语句是( )。

A.int*p=a;

B.intp=a;

C."p=a;

D.p=a;


正确答案:A
A。【解析】从循环语句中可以看出,是在0到4的循环中输出数组a中的前5个元素,输出的值为*(P+i),即为指针P向后移动指向的元素。所以初始化要将指针P指向数组a,即int*p=a;。

第9题:

程序中有如下语句for(int i=0;i<5;i++)cout<<*(p+i<<“,”;能够依次输出int型一维数组a的前5个元素。由此可知,变量P的定义及初始化语句是( )。

A.int*p=a;

B.int p=a;

C.*p=a;

D.p=a;


正确答案:A
解析: 从循环语句中可以看出,是在0到4的循环中输出数组a中的前5个元素,输出的值为*(p+i),即为指针p向后移动指向的元素。所以初始化要将指针p指向数组a,即int*p=a;。