我有一个字符串=“ ABCD”,因此string [2]将返回'C' 如果我有'C'并想在字符串中查找C的位置怎么办?
是否可以是返回给定字母位置的函数,例如
int查找(字符串a)
在这种情况下,它应该返回2?
我知道我可以使用for循环来查找它,如代码所示。我的问题是我的作业需要我在不使用任何“循环”的情况下进行查找,因此for循环或while或do while不够用。
#include <iostream>
#include <string>
using namespace std;
const char digits[] = { 'A', 'B', 'C', 'D' };
int lookup(string a, char b);
int main()
{
string str = "ABCD";
cout << lookup(str, 'D') << endl;
return 0;
}
int lookup(string a, char b)
{
// look up algorithm there
for ( int i = 0 ; i < a.size() ; i++)
{
if ( a[i] == b)
{
return i;
}
}
return -1;
}
我的示例代码很好,但是我需要一种替代方法来查找没有循环的值。有可能吗?
答案 0 :(得分:0)
谢谢!
因此,整个查询功能可以替换为这一行:
return a.find(b);
非常感谢您!