如果给定字符是俄语元音,我想编写一个返回 true 的函数。但是我得到的结果对我来说很奇怪。这是我到目前为止所得到的:
#include <iostream>
using namespace std;
bool is_vowel_p(char working_char)
// returns true if the character is a russian vowel
{
string matcher = "аяё×эеуюыи";
if (find(matcher.begin(), matcher.end(), working_char) != matcher.end())
return true;
else
return false;
}
void main()
{
cout << is_vowel_p('е') << endl; // russian vowel
cout << is_vowel_p('Ж') << endl; // russian consonant
cout << is_vowel_p('D') << endl; // latin letter
}
结果是:
1
1
0
我有什么奇怪的。我期望得到以下结果:
1
0
0
似乎有某种我还不知道的内部机制。我起初对如何修复此功能以使其正常工作感兴趣。其次,那里发生了什么,我得到了这个结果。