出个C++题目

来源:百度知道 编辑:UC知道 时间:2024/05/31 17:19:49
有变量说明语句:
char *p1;
int * p2;
float * p3,x;
指出下列每一个语句的错误原因.
(1)cin>>p1;
(2)*p2=3;
(3)p2=p3;
(4)p3=p1;
(5)p1=&x;

1)cin>>p1; //输入的是地址
(2)*p2=3; //应该赋一个地址,你的意思是把3的地址赋进去,结果赋了一个值
(3)p2=p3; //类型不匹配,但可以用reinterpret强转一下
(4)p3=p1; //类型不匹配
(5)p1=&x; //类型不匹配

1、2没有分配空间
3、4类型不匹配

1、2指针没有定义
3、4、5类型不匹配

(1)cin>>p1; //可以运行但是输出的是地址
(2)*p2=3; //3是及时常量。没地址。
(3)p2=p3; //类型
(4)p3=p1; //类型
(5)p1=&x; //x没有定义