function - 检测到堆栈粉碎(未知)
问题描述
此递归函数用于返回第一个大写索引号,并且在字符串中找不到大写,这将返回 -1;
但是当我将第一个参数传递给没有任何大写字母的字符串时,我面临“***堆栈粉碎检测到***:终止”错误。
测试用例:
- find("hello World") -> 返回大写索引号为 6
- find("hello hello hello")-> *** 检测到堆栈粉碎 ***: 已终止
我没有找到为什么会发生这个错误,我在我的 IDE 中运行这个程序,它正确执行。
请帮我摆脱这个错误。
谢谢
int find(char *str, int i)
{
if (str[i] == '\0')
return -1;
if (str[i] >= 'A' && str[i] <= 'Z')
return i + 1;
return find(str, i + 1);
}
解决方案
推荐阅读
- apache-kafka - 具有长处理消息和水平扩展的 Kafka 的正确配置是什么
- c# - 如何在不重启浏览器实例的情况下迭代场景中的小黄瓜步骤
- email - 从 SAS 发送带有更改名称的附件的自动电子邮件
- android - 如何访问 Firebase 数据库中动态添加的孩子的孩子?
- python - 我们可以在异步 python 函数中调用 celery delay 或 apply_async
- javascript - 链表中的递归
- python - 有没有办法从 GEE python 中的地图图层创建一个新的 shapefile?
- reactjs - 在组件卸载之前擦除组件状态
- css - CSS 过渡同时运行,而不是一个接一个地运行(手风琴)
- powershell - Get-ChildItem 的 Where-object 子句仅在我在特定应用程序中使用日期函数时才有效