C++关于const用法的选择题,求高手指教
答案:6 悬赏:30 手机版
解决时间 2021-01-14 03:17
- 提问者网友:情歌越听越心酸
- 2021-01-13 18:34
C++关于const用法的选择题,求高手指教
最佳答案
- 五星知识达人网友:北城痞子
- 2021-01-13 19:56
B错了
CD正确的,
C选项 *point的值不能改变,比如
int i=10;
point=&i;
*point=11; //错误,*point的值是不能改变的,但是point可以改变指向,如 int k=12; point=&k;
D选项pt指向不能改变
int i=10;
double *const pt=&i;
*pi=11; //正确,可以用pi指针改变 i 的值
int k=11;
pi=&k; //错误,pi只能指向i,不能改变指向
还有const是采用就近原则的
如
const int *p;
int const *p;
int * const p;
一二是一样的,const都是限制了int的,三是限制 p 的
CD正确的,
C选项 *point的值不能改变,比如
int i=10;
point=&i;
*point=11; //错误,*point的值是不能改变的,但是point可以改变指向,如 int k=12; point=&k;
D选项pt指向不能改变
int i=10;
double *const pt=&i;
*pi=11; //正确,可以用pi指针改变 i 的值
int k=11;
pi=&k; //错误,pi只能指向i,不能改变指向
还有const是采用就近原则的
如
const int *p;
int const *p;
int * const p;
一二是一样的,const都是限制了int的,三是限制 p 的
全部回答
- 1楼网友:詩光轨車
- 2021-01-13 21:47
const 数据类型说明符 常量名=常量值;
数据类型说明符 const 常量名=常量值;
数据类型说明符 const 常量名=常量值;
- 2楼网友:慢性怪人
- 2021-01-13 21:32
B错的。
D的意思是pt是常量,pt不能再被赋值,即pt=0;非法!其实const很好理解,就const是后面的表达式(*p,p等)不能再赋值,即const char *p=0;中,*p=t就是错的!
char * const p=0;
p=t;就是错的
D的意思是pt是常量,pt不能再被赋值,即pt=0;非法!其实const很好理解,就const是后面的表达式(*p,p等)不能再赋值,即const char *p=0;中,*p=t就是错的!
char * const p=0;
p=t;就是错的
- 3楼网友:西风乍起
- 2021-01-13 21:14
D是const类型的指针。
将const放在指针变量的“*”之后。表示指针变量的值是一个常量。不能改变指针变量的值,可以改变指针变量所指向的数据值。定义时必须赋初值。例如:
int n=5,i; int *const pn=&n;
*pn=25; //正确
pn=&i; //错误
D是正确的,在这C也是正确的,B是错误的。
将const放在指针变量的“*”之后。表示指针变量的值是一个常量。不能改变指针变量的值,可以改变指针变量所指向的数据值。定义时必须赋初值。例如:
int n=5,i; int *const pn=&n;
*pn=25; //正确
pn=&i; //错误
D是正确的,在这C也是正确的,B是错误的。
- 4楼网友:蕴藏春秋
- 2021-01-13 21:00
B错了,常数没有初始化
C每次,以cosnt为分界*point在一边说明指针是可以变的,指针的内容不能变,所以不赋初始值可以
C每次,以cosnt为分界*point在一边说明指针是可以变的,指针的内容不能变,所以不赋初始值可以
- 5楼网友:话散在刀尖上
- 2021-01-13 20:06
B)const int temp;
这个是错误的。常值指针不需要初始化,常值变量必须初始化。
结论经过测试。
这个是错误的。常值指针不需要初始化,常值变量必须初始化。
结论经过测试。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯