求指教c语言问题,*p=&x意思是向*p赋予x的地址,可为什么下面的题目答案是C?
23、若定义:floatx=3.14159,*p=&x;设想,*p=x则printf("%f\n",*p++);的输出结果为__C__。A、无确定值B、x的地址C、3.1...
23、若定义:float x=3.14159,*p=&x; 设想,*p=x
则printf("%f\n",*p++);的输出结果为__C__ 。
A、无确定值 B、x的地址
C、3.14159 D、4.14159 展开
则printf("%f\n",*p++);的输出结果为__C__ 。
A、无确定值 B、x的地址
C、3.14159 D、4.14159 展开
6个回答
展开全部
最终目的不是为了读取值吗?*p=x,这个是在赋予地址之后读取值。要不光要地址没有意义的。而且他说的是输出结果。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
p是指针,但是*p表示的指针p指向的类容,你把*去掉,输出的就是x的地址了,不过地址不是10进制的。
但是定义的时候 *p = &x,要这样写,方便吧。
但是定义的时候 *p = &x,要这样写,方便吧。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
*p=&x; 可以理解为float *p; p=&x;
也就是说p是指向x的地址。
float *p; p=&x; 等同于这么写 float *p=&x;
也就是说p是指向x的地址。
float *p; p=&x; 等同于这么写 float *p=&x;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
p 是指针地址, *p 指向 x, 因此输出 printf("%f\n",*p++) 其结果是 x 的值
printf("%f\n",*p++) 这条语句相当于 printf("%f\n",*p); p++ 你应该清楚 ++ 运算符的作用
如果在 printf("%f\n",*p++) 这条语句之后再次调用 printf("%f\n",*p) 你会发现输出一个随即的浮点数(因为此时 p 指向一个未初始化的地址,即野指针)
printf("%f\n",*p++) 这条语句相当于 printf("%f\n",*p); p++ 你应该清楚 ++ 运算符的作用
如果在 printf("%f\n",*p++) 这条语句之后再次调用 printf("%f\n",*p) 你会发现输出一个随即的浮点数(因为此时 p 指向一个未初始化的地址,即野指针)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询