itgle.com

若有以下定义和语句: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;

题目
若有以下定义和语句: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选项为所选。
更多“若有以下定义和语句:#include<stdio.h>inta=4,b=3,*p,*q,*w;p=&amp;a; q=&amp;b; w=q; q=NULL;则 ”相关问题
  • 第1题:

    若有以下定义和语句 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;


    正确答案:D
    解析:指针是一个既强大又危险的技术,C/C++语言之所以灵括高效,原因之一就是采用了指针技术,所以c/C++特别适合开发系统软件和工具软件.在C#语言中已经取消了指针,而且全部属于托管代码。而在dotnet框架中,为了保持兼容性,仍然可以使用C++,但分托管和非托管代码。本题实际上有个圈套,只要注意到题干中“语句”,而且注意到各个选项中都有分号结尾,就可以判断选项D是正确的:语句不是以逗号结尾的。

  • 第2题:

    若有一些定义和语句: include inta=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,最后将NULL赋值给q。由整形变量指针的定义可知,可以给整型指针指向的变量赋一个常数值(表达式),故选项C和选项D是正确的;可以给指针变量赋一个同种类型的指针变量(或地址值),故选项B也是正确的:选项A错误,因为q不指向任何变量,给一个空指针指向的单元赋值是错误的。所以,应该选A。

  • 第3题:

    1、若有定义: int a=2,*p=&a,*q=p; 则以下非法的赋值语句是()。

    A.p=q;

    B.*p=*q;

    C.a=*q;

    D.q=a;


    B

  • 第4题:

    若有一些定义和语句include inta=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
    解析:本题考核的知识点是指针变量的使用与空指针(NULL)基本概念.本题中定义了3个指向整型的指针变量p、q、w,并让p指向a,让q指向b,通过将q的值赋给w,使w也指向b,最后将NULL赋值给q。由整形变量指针的定义可知,可以给整型指针指向的变量赋一个常数值(表达式),故选项C和选项D是正确的;可以给指针变量赋一个同种类型的指针变量(或地址值),故选项B也是正确的;选项A错误,因为q不指向任何变量,给一个空指针指向的单元赋值是错误的。所以,A选项为所选。

  • 第5题:

    若有以下定义,则赋值正确的是______。 int a, b, *p; float c, *q;

    A.p=NULL;

    B.p=&c;

    C.q=p;

    D.q=&a;


    a=b=5;