C++ 语音中的 符号常量和常值变量有什么区别?

 我来答
juziwbj11
2012-04-01 · 超过31用户采纳过TA的回答
知道答主
回答量:148
采纳率:100%
帮助的人:52.9万
展开全部
符号常量用#define来定义,例如#define PI=3.14;
常值变量用const来定义,例如const double PI=3.14。
与符号常量相比,常值变量有更明确的类型属性,更经常被程序员使用。
追问
两者在功能上有什么不同的地方?我怎么总感觉是一个东西,比如说,我们是否可以用符号常量来代替常值变量,如果不能,为什么?谢谢
liaohanjie1314
2012-04-01 · TA获得超过451个赞
知道答主
回答量:181
采纳率:0%
帮助的人:78万
展开全部
修正下楼上的小错误,应该是#define pi 3.14 没有=号;然后#define定义的常量只是做简单的替换,用后面的常量代替前面的符号。例如#define x 3+3 ,然后你再来个i=x*x 事实上执行的结果是
i=3+3*3+3=15。与实际要得到的值不符,这点要注意一下!
追问
所举例子如果换成 常值变量 结果是否相同?  const int x=3+3  i=x*x   结果是怎样的,谢谢。
追答
const int x=3+3  i=x*x 结果是i=6*6 =36,因为const常量不像#define只是做简单的替换,const int x=3+3 注意到=没有,const定义常量其实是个复制运算的过程。所以。。。应该懂了!
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
DoramiHe
2017-03-19 · 知道合伙人互联网行家
DoramiHe
知道合伙人互联网行家
采纳数:25335 获赞数:59536
2011年中山职业技术学院毕业,现担任毅衣公司京东小二

向TA提问 私信TA
展开全部
修正下楼上的小错误,应该是#define pi 3.14 没有=号;然后#define定义的常量只是做简单的替换,用后面的常量代替前面的符号。例如#define x 3+3 ,然后你再来个i=x*x 事实上执行的结果是
i=3+3*3+3=15。与实际要得到的值不符,这点要注意一下!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式