在C++中,为什么内联函数square(c++)c=13;最终结果是169不是196,不应该是先执行括号里的东西嘛?
答案:4 悬赏:50
解决时间 2021-11-14 21:07
- 提问者网友:暖心后
- 2021-11-14 15:57
在C++中,为什么内联函数square(c++)c=13;最终结果是169不是196,不应该是先执行括号里的东西嘛?
最佳答案
- 二级知识专家网友:一起来看看吧
- 2021-11-14 17:00
square(c++),等效于
square(c),c++;
题主的理解有偏差。
square((c++))才是你说的意思。
所谓括号,可以提升优先级,但square是函数啊,第一个括号属于函数啊,不属于c的,必须再加一个括号,才能满足你的意思。
square(++c) = square((++c)) = square((c++))
square(c),c++;
题主的理解有偏差。
square((c++))才是你说的意思。
所谓括号,可以提升优先级,但square是函数啊,第一个括号属于函数啊,不属于c的,必须再加一个括号,才能满足你的意思。
square(++c) = square((++c)) = square((c++))
全部回答
- 1楼网友:转身→时光静好
- 2021-11-14 19:37
你可能是遇到了未定义行为
- 2楼网友:厭世為王
- 2021-11-14 18:47
sqrt(c++)是169
sqrt(++c)才是196
再看看别人怎么说的。
- 3楼网友:一池湖水
- 2021-11-14 18:27
先square(c)//c=13=169
然后c++;//c=14
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯