c++ - 在 char 表中查找索引值
问题描述
我试图通过查看数组来找到索引号,但我不能使用循环。可能吗?
我已经附上了用循环执行此操作的代码。
#include <iostream>
using namespace std;
const char digits[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', \
'A', 'B', 'C', 'D', 'E', 'F', };
int find_index(string str);
int main()
{
string str = "A";
cout << find_index(str) << endl;
}
int find_index(string str)
{
// using a loop, in this case for loop.
for (int i = 0 ; i < 16 ; i++)
{
// cout << digits[i] << endl;
if ( digits[i] == str[0] )
{
return i;
}
}
return -1;
}
是否可以在没有循环的情况下做同样的事情?
解决方案
if (loopsAllowed == false) {
useRecursion();
}
else {
useLoops();
}
如果您对学校项目有奇怪的要求,这是一种非常标准的做事方式。我会避免的一件事是使用goto
跳转到前面的代码部分。这实际上是循环。
此外,只要有足够的堆栈内存,任何使用循环的东西在技术上都可以通过递归实现。
推荐阅读
- java - 额外使用 OAuth2 进行身份验证时缺少 DaoAuthenticationProvider
- python - multiprocessing.pool 中的共享内存
- c# - EF Core Add() 仅将最后一个元素添加到 ICollection
- javascript - 如何使用 sequelize bulkCreate 根据用户输入在数据库中插入多行
- delphi - 调用 ShowMessage 时如何修复内存泄漏?
- kotlin - Kotlin 追溯应用接口
- c++ - 映射到外围寄存器的 C++ 结构
- r - 如何过滤切割功能?
- c++ - 读取多个 PCD 文件
- sql - 如果存在特定记录,则忽略 SQL INNER JOIN?