未分类题

以下程序有错,错误原因是 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和整型变量i,字符型指针变量q和字符型变量ch,将i的地址赋......

(↓↓↓ 点击下方‘点击查看答案’看完整答案 ↓↓↓)