中易网

C++,求解释,“int a=3;*p=a;"输出p的值是什么,是a的地址,还是等于3?

答案:7  悬赏:30  
解决时间 2021-01-18 05:49
  • 提问者网友:趣果有间
  • 2021-01-17 08:31
C++,求解释,“int a=3;*p=a;"输出p的值是什么,是a的地址,还是等于3?
最佳答案
  • 二级知识专家网友:蓝房子
  • 2021-01-17 09:58
p的值是a的地址(&a),*p才是等于3
全部回答
  • 1楼网友:英雄的欲望
  • 2021-01-17 14:03
应该不可以这样写的吧,这样是不是就是把*p指向的地址改写,应该会报“0x0000。。。不能为write”,p=&a可以,*p=a还真没试过。如果能改写地址,理论的结果应该是3吧,这是我个人了理解,如果有错请见谅。
  • 2楼网友:老鼠爱大米
  • 2021-01-17 13:38
p的值是是它原来指向的地址
*p的值是a的值
只是对原变量的地址进行了复制
并没有改变指针的指向
  • 3楼网友:野味小生
  • 2021-01-17 12:54
这个变量定义有错,编译时会报错
  • 4楼网友:未来江山和你
  • 2021-01-17 11:27
输出p的值是a的地址。
  • 5楼网友:白昼之月
  • 2021-01-17 10:38
应该是int a=3;
p=&a;
输出p的值是a的地址,&代表取地址。
int a=3;*p=a;
输入有误第一句完是“,”号,*p=a没有这样的运算表达式。
  • 6楼网友:玩家
  • 2021-01-17 10:17
没见过你的赋值法,而且也不对;你运行会死机;因为你把a的值赋给了*p;那p指的那个不知道;这是很危险的;而且你的*p没有指明类型(在这里是int);给你你个全的代码你好好看看,再看看指针的定义吧:
#include
void main()
{
int a=3;
int *p;
p=&a;
printf("%d,%d",p,*p);
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息