我写了一个非常基本的程序,将元音与输入字符串分开。该程序不仅分离元音,而且还返回奇怪的符号/字母!
我真的找不到原因。救命!
输出>>
aoeeo x?E?óì
每次运行它都会生成不同的字母(?)!
代码>>
#include <iostream>
#include <vector>
#include <string>
using namespace std;
int main(){
string input = "stackoverflow";
vector<char> vowels = {'a','e','i','o','u'};
vector<char> result;
for(int i = 0 ; i < input.size() ; i++){
for(int j = 0; j < vowels.size(); j++){
if(input[i] == vowels[j]){
result.push_back(input[i]);
}
}
if (input[i] == 'u' || input[i] == 'e') {
result.push_back(input[i]);
}
}
for(int i = 0 ; i < input.size() ; i++){
cout << result[i];
}
return 0 ;
}
Run Code Online (Sandbox Code Playgroud)
您从未分配的内存中读取。元音被存储在小于输入向量的结果向量中。将您的打印循环更改为:
for(int i = 0 ; i < result.size() ; i++){
cout << result[i];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
55 次 |
| 最近记录: |