若有以下定义和语句;double r=99,*p=7;*p=r;则以下正确的叙述是()A.两处的*p含义相同,都说明给指

题目

若有以下定义和语句; double r=99,*p=7; *p=r; 则以下正确的叙述是( )

A.两处的*p含义相同,都说明给指针变量P赋值3

B.在“double r=99,*p=7;*p=r;”中,把r的地址赋给了p所指的存储单元

C.语句“*p=r;”把变量r的值赋给指针变量p

D.语句“*p=r;”把变量r的值放回P中

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

若有说明语句:double*P,a;则能通过scanf语句正确给输入项读入数据的程序段是( )。

A.*p=&a;scanf("%lf",p);

B.*p=&a;scanf("%f",p);

C.p=&a;scanf("%lf",*p);

D.p=&a;scanf("%lf",p);


正确答案:D
解析:*p间接引用指针指向的变量,因此“(*p)=&a”不对。scanf()的输入变量必须为地址,因此C是错误的。

第2题:

若有定义语句:double a,*p=&a;,以下叙述中错误的是( )。 A.定义语句中的*号是一个间址运算符S

若有定义语句:double a,*p=&a;,以下叙述中错误的是( )。

A.定义语句中的*号是一个间址运算符

B.定义语句中的*号只是一个说明符

C.定义语句中的P只能存放double类型变量的地址

D.定义语句中,*p=&n把变量a的地址作为初值赋给指针变量P


正确答案:C
doublea,*p=&a语句的意思是将a的值存放到指针变量P中,P是指针可以随意指向任何地址,所以答案C错误。

第3题:

若有定义语句: int a[2][3],*p[3]; ,则以下语句中正确的是A ) p=a;B)p[0]=a; C) p[0]=&am

若有定义语句: int a[2][3],*p[3]; ,则以下语句中正确的是

A ) p=a;

B)p[0]=a;

C) p[0]=&a[1][2];

D)p[1]=&a;


正确答案:C

                                           

第4题:

若有定义语句:double a,*p=&a;,以下叙述中错误的是( )。A.定义语句中的*号是一个间址运算符SXB

若有定义语句:double a,*p=&a;,以下叙述中错误的是( )。

A.定义语句中的*号是一个间址运算符

B.定义语句中的*号是一个说明符

C.定义语句中的p只能存放double类型变量的地址

D.定义语句中,*p=&a把变量a的地址作为初值赋给指针变量P


正确答案:A
在变量定义doublea,*p:&a;中,*号是一个指针运算符,而非间址运算符,因此A)错误。

第5题:

若有说明语句:double*p,a;则通过scanf语句正确给输入项读人数据的程序段是( )。

A.*p=&a;scanf("%1f”,p);

B.*p=&a;scanf("%f",p);

C.p=&a;scanf("%",*p);

D.p=&a;scanf("%1f",p);


正确答案:D
double*p,a定义了一个指向双精度型的指针变量P和双精度型变量a,p=&a表示将变量a的地址赋给指针变量p;scanf("%If",p)表示用键盘输入的数赋给指针变量P所指向的地址单元中,scanf函数要求在输入double型数据,格式控制符必须用%1f。否则,数据不能正确输入。所以选项D正确。

第6题:

若有以下定义和语句:includeinta=4,b=3,*p,*q,*w;p=&a; q=&b; w=q; q=NULL;则

若有以下定义和语句: #include<stdio.h> int a=4,b=3,*p,*q,*w; p=&a; q=&b; w=q; q=NULL; 则以下选项中错误的语句是( )。

A.*q=0;

B.w=p;

C.*p=a;

D.*p=*w;


正确答案:A
解析:本题中定义了3个指向整型的指针变量p、q、w,并让p指向a,让q指向b,通过将q的值赋给w,使w也指向b,最后将q指向NULL。因为q指向NULL,所以选项A中对q所指地址进行写入是非法的。故A选项为所选。

第7题:

若有以下定义和语句:“double r=99,*p=&r;*P =r;”,则以下正确的叙述是( )。

A.两个*p含义相同,都说明给指针变量p赋值

B.在“double r=99,*p=&r;”中,把r的地址赋值给了P所指的存储单元

C.语句“*p=r;”把变量r的值赋给指针变量P

D.语句“*p=r;”取变量r的值放回r中


正确答案:B
在定义*p=&r时,是表示r的地址赋给了p所指的存储单元,因此选项B正确。

第8题:

若有说明语句 : double *p,a; 则能通过 scanf 语句正确给输入项读入数据的程序段是A)*p=&am

若有说明语句 : double *p,a; 则能通过 scanf 语句正确给输入项读入数据的程序段是

A)*p=&a; scanf(" % 1f",p);

B)*p=&a; scanf(" % f",p);

C)p=&a; scanf(" % 1f",*p);

D)p=&a; scanf(" % 1f",p);


正确答案:D
(24)D) 解析 : p=&a 表示将变量 a 的地址送给指针 p; scanf( “ %lf ” ,p) 表示用键盘输入的数给变量 p 地址中。

第9题:

若有定义语句:int a[2][3],*p[3];,则以下语句中正确的是( )。A.p=a; B.p[0]=a;

若有定义语句:int a[2][3],*p[3];,则以下语句中正确的是( )。

A.p=a;

B.p[0]=a;

C.p[o]=&a[1][2];

D.p[1]=&a;


正确答案:B
选项B表示把整型数组a[o]的指针赋给p[0]。

第10题:

若有说明语句:double*p,a,则能通过scanf语句正确给输入项读入数据的程序段是( )。

A.*p=&a;scanf("%1f",p);

B.*p=&a; scanf("%f",p);

C.p=&a; scanf("%1f",*p);

D.p=&a; scanf("%1f",p);


正确答案:D
解析:double*p,a;语句表示定义了一个指向双精度型的指针变量p和双精度型变量a,而语句p=&a表示将变量a的地址赋给指针变量p;scanf("%1f",p)表示用键盘输入的数赋给指针变量p所指向的地址单元中。scanf()函数要求在输入double型数据,格式控制符必须用%1f(或%le).否则,数据不能正确输入。所以选项D)为正确答案。

更多相关问题