scanf(“%lf”,p)和 scanf(“%lf”,*p)的区别 *p=&a和p=&a的区别 这四种写法对吗?是否有错误? 谢谢!
展开全部
第二个和第三个错误。第一个和第四个正确。
第一个正确是因为p代表的是地址;
第二个错误是因为*p代表的是指针p指向的那个变量的数值,而不是这个变量的地址;
第三个错误,原理和第二个一样,*p在这个时候已经不能指针了,而只是一个数值,而a前面有加上了&,这是&a是一个地址;如果这个等式出现在诸如 int,float之类之后,就是正确的了;
第四个正确是因为p是一个指针,&a是一个地址,把一个地址赋给指针,这是符合逻辑的。
如果我的回答解决了你的实际问题,还请予以采纳,如果你还有疑问,欢迎追问。
第一个正确是因为p代表的是地址;
第二个错误是因为*p代表的是指针p指向的那个变量的数值,而不是这个变量的地址;
第三个错误,原理和第二个一样,*p在这个时候已经不能指针了,而只是一个数值,而a前面有加上了&,这是&a是一个地址;如果这个等式出现在诸如 int,float之类之后,就是正确的了;
第四个正确是因为p是一个指针,&a是一个地址,把一个地址赋给指针,这是符合逻辑的。
如果我的回答解决了你的实际问题,还请予以采纳,如果你还有疑问,欢迎追问。
追问
"如果这个等式出现在诸如 int,float之类之后,就是正确的了” 请问这是为什么?
追答
比如说你定义a为整型,int a;然后后面在定义int *P=&a; 这就构成了指针的初始化语句,所以是正确的呀,呵呵……
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询