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

admin2009-01-15  24

问题 若有一些定义和语句:     #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;

答案1

解析 本题中定义了3个指向整型的指针变量p、q、w,并让p指向a,让q指向b,通过将q的值赋给w,使w也指向b,最后将NULL赋值给q。由整形变量指针的定义可知,可以给整型指针指向的变量赋一个常数值(表达式),故选项C和选项D是正确的;可以给指针变量赋一个同种类型的指针变量(或地址值),故选项B也是正确的:选项A错误,因为q不指向任何变量,给一个空指针指向的单元赋值是错误的。所以,应该选A。
转载请注明原文地址:https://jikaoti.com/ti/LmK0FFFM
0

最新回复(0)