A-A+

若有以下定义和语句 #include<stdio.h> int a=4 b=3 *p *q

2022-08-06 05:40:53 问答库 阅读 176 次

问题详情

若有以下定义和语句 #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。由整型变量指针的定义可知,可以给整型指针指向的变量赋一个常数值(表达式);可以给指针变量赋一个同种类型的指针变量(或地址值);选项A因为q不指向任何变量,给一个空指针指向的单元赋值是错误的。

考点:语句,定义