为了账号安全,请及时绑定邮箱和手机立即绑定

debug 问题出在阶乘函数体内,bug提示已经注释在对应行里,麻烦解释一下

debug 问题出在阶乘函数体内,bug提示已经注释在对应行里,麻烦解释一下

C C++
藏宝alo 2016-04-01 11:38:18
#include <stdio.h>/* 计算一个数的立方 */int cube(const int x) { return x * x * x;}/* 计算一个数的阶乘 */int factorial(const int x) { int rst = 1; for (; x > 0; --x) {       //[Error] decrement of read-only parameter 'x' rst *= x; } return rst;}int main(void) { const int v = 7;printf("cube(7) = %d\n", cube(v)); printf("factorial(7) = %d\n", factorial(v)); return 0;}
查看完整描述

1 回答

已采纳
?
guozhchun

TA贡献103条经验 获得超76个赞

const关键字修改的变量不允许修改,在函数定义中 x 变量有const修饰,而你却在函数体中修改 x 的值(--x),因此编译器会报错

查看完整回答
1 反对 回复 2016-04-01
  • 藏宝alo
    藏宝alo
    谢谢,有效。 惯性写的,忽视了const的只读性质,没有理解清楚。
  • 1 回答
  • 0 关注
  • 1397 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信