单选题
以下程序段有错,错误原因是______。
main()
int *p,i;char *q,ch;
p=&i;q=&ch;*p=40;*p=*q;
A、
p和q的类型不一致,不能执行*p=*q;语句
B、
*p中存放的是地址值,因此不能执行*p=40;语句
C、
q没有指向具体的存储单元,所以*q没有实际意义
D、
q虽指向了具体的存储单元,但该单元中没有确定的值,所以不能执行*p=*q;语句
【正确答案】
D
【答案解析】
[解析] 语句*p=*q:使指针p指向q所指向的存储单元,同时p得到该存储单元的内容及其类型,所以D项叙述正确。
提交答案
关闭