c - 在 C 中接收函数调用
问题描述
为什么这个递归函数陷入无限循环?它显示 Val 的值没有减少。背后的逻辑是什么。
int Bar(int Val) // value passed is 3
{
int x=0;
while (Val>0)
{
x=x+Bar(val-1);
}
return Val
}
解决方案
不是递归,而是永远不会结束的while循环。
while (val>0) {
x=x+bar(val-1);
}
在这个循环中,你永远不会改变val
. 所以循环永远不会终止。
推荐阅读
- c - C中的二叉树 - 多数据
- shell - 提示时如何在shell脚本中自动填写用户名和密码
- python - np.where 有多个条件
- python - “AttributeError:‘NoneType’对象没有属性‘插入’”
- python - 如何在熊猫中按时间序列分组并聚合开始/停止时间
- mysql - mysql ful 外连接
- javascript - window.print 打印 3 份
- mongodb - 如何从 mongodb 集合中连接拆分字段的两个元素?
- laravel - 如何在 Laravel 中处理下拉列表
- react-native - MapView 未在 Android 模拟器中呈现。“很遗憾,世博会已经停止。” 发生了错误