若有以下的定义和语句:double r=99,*p=&r;*p=r,则下列叙述是不是正确的(我完全没有头绪,请给详解)

A.语句*p=r;把变量r的值赋给指针变量p。
B.语句*p=r;取变量r的值放回r中。
补充一下,这两个选项都是不对的……我主要想问是哪里不对了……⊙﹏⊙b汗

double r=99,*p=&r;/*定义double型变量r=99,指向double类型的指针p是变量r的地址,就是说p是r的指针*/
*p=r,就是说r的值=指针p指向的值,是个赋值语句,但是是自己把值赋给自己,就相当于a=a这样,我猜还是选B吧。另外注意C语言中都是从右往左运行的
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-09-17
如果指针没有定义过,我们可以边定义边赋值指针定义 ;例如double *p=&r 把r的地址赋给指针p;
如果指针已经定义过,它的赋值方式有:p=&r;把r的地址赋给p
或者 *p=r;指针p指向变量r;
*p=r的意思就是 指针变量p指向变量r;
第2个回答  2010-09-16
A是错误的。
*p=&r这句,是边定义边赋值,p已经指向了r所在的内存,后面一句是赋值,就想B所解释的一样
第3个回答  2018-10-27
取变量r的直放回r中是对的