如果有定义:int x=1,y=2; int *const p=&x;,则下列语句中正确的是
答案:2 悬赏:80 手机版
解决时间 2021-03-08 21:37
- 提问者网友:ミ烙印ゝ
- 2021-03-08 04:00
如果有定义:int x=1,y=2; int *const p=&x;,则下列语句中正确的是__________。选择一个答案A. scanf(”%d”,*p);B. p=&y;C. *p=yD. p++求解析
最佳答案
- 五星知识达人网友:西风乍起
- 2021-03-08 04:19
正确答案选择C.
选项A: 要输入到一个变量,需要传指针. 所以这里应该是 scanf(”%d”,p); 而不是*p
选项B和D是一个错误. 定义的时候是const p, 所以p是常量,值不可以改变.对p值的改变都是错误的.
C是改变*p, 等同于x=y; 所以正确.
选项A: 要输入到一个变量,需要传指针. 所以这里应该是 scanf(”%d”,p); 而不是*p
选项B和D是一个错误. 定义的时候是const p, 所以p是常量,值不可以改变.对p值的改变都是错误的.
C是改变*p, 等同于x=y; 所以正确.
全部回答
- 1楼网友:鸽屿
- 2021-03-08 05:13
你好!
选c
int *const p
声明一个指向int类型变量的常量指针变量p,也就是说这个指针指向的位置(地址)是个常量(const),一旦初始化就不能改变的,但这个地址中存的值是可以改变的。
先看A:明显错的,应该改为 scanf("%d",p);
再看B:前面已经说过了,P的值不能改变的,是个常量,所以初始化后给他赋值是错的
D:跟B一样的道理,也是错的。
C为什么是对的呢?这个是改变P指向的变量x的值,这是可以的,相当于x=y.
我的回答你还满意吗~~
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯