问题
单项选择题
以下程序有错,错误原因是
main( )
int *p,i;
char *q,ch;
p=&i;
q=&ch;
*p=40;
*p=*q;
答案
参考答案:D
解析: 在该程序中,首先声明整型指针变量p和整型变量i,字符型指针变量q和字符型变量ch,将i的地址赋给指针变量p,将ch的地址赋给指针变量q,将40赋给*p,此时,q已经指向了一个具体的存储单元,但ch的值不确定,即*p没有确定的值,所以不能执行*p=*q语句。