A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 小明的爸爸 中级黑马   /  2015-11-23 11:09  /  1354 人查看  /  12 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

在其他论坛看到一道有意思的关于const题目,觉得很有趣和大家分享一下啊

以下选项错误的是:  

A )       int =5;int =6;
           const int *p = &a;
           p=&b;
B )       int =5;int =6;
           const int *p = &a;
         *p=5;
C)       int =5;int =6;
            int *  const p = &a;
           *p=5;
D )       int =5;int =6;
            int *  const p = &a;
           p=&b;

欢迎大家讨论,看看大家的答案和我是不是一样


12 个回复

倒序浏览
第四个错了吧
回复 使用道具 举报
int =5; 是什么啊?怎么直接赋值给整型类型呢?
回复 使用道具 举报
toveyloves 发表于 2015-11-23 21:25
int =5; 是什么啊?怎么直接赋值给整型类型呢?

不好意思,是int  a= 5, int b =5,写露了
回复 使用道具 举报
toveyloves 发表于 2015-11-23 21:25
int =5; 是什么啊?怎么直接赋值给整型类型呢?

不好意思,是int  a= 5, int b =5,写错了
回复 使用道具 举报
没注意,定义变量时写错了应该是 int a =5;int b =6  正确答案是B,其实大家只要记住两句话就行了
如果const位于*的左侧,则const就是用来修饰指针所指向的变量,即指针指向为常量;
如果const位于*的右侧,const就是修饰指针本身,即指针本身是常量。
回复 使用道具 举报
D没有错?const在*后,指针的指向不可改。既然赋值a,还能又指向b?
回复 使用道具 举报
Tmac90301 发表于 2015-11-23 23:17
D没有错?const在*后,指针的指向不可改。既然赋值a,还能又指向b?

我没想到它是多选,就没看细看后面两个,你说对了 D 也是错的,赞一个
回复 使用道具 举报

正确答案是B,D
回复 使用道具 举报
选A吗   const 在前面 值不能改变  
回复 使用道具 举报
感觉 B和D错了,const在*前,指向的变量内容只读。const在*后,指针不能改变指向。
回复 使用道具 举报

D没有错?const在*后,指针的指向不可改。既然赋值a,还能又指向b?
回复 使用道具 举报
cube川 来自手机 中级黑马 2015-11-25 15:08:15
13#
小明的爸爸 发表于 2015-11-24 20:05
正确答案是B,D

你试试B能不能编译成功,B应该是强制转换
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马