gpt4 book ai didi

c++ - 不明白为什么 C++ 程序没有输出

转载 作者:行者123 更新时间:2023-11-27 23:56:16 25 4
gpt4 key购买 nike

我正在做 Accelerated C++ 练习 3-3,但我终究无法弄清楚为什么我的程序没有输出。我什至尝试一路添加测试 cout,但它没有给我任何东西。为什么即使在主 for 循环之外添加 cout 语句,它也不会产生任何输出?

#include <iostream>
#include <string>
#include <algorithm>
#include <iomanip>
#include <vector>

using std::cout; using std::cin;
using std::endl; using std::vector;
using std::sort; using std::string;

int main() {
int count = 0;
string input;
vector<string> words;
typedef vector<string>::size_type vec_sz;
vec_sz size = words.size();

cout << "Sentence: ";
while(cin >> input) {
words.push_back(input);
}

for(int i = 0; i < size - 1; i++) {
for(int j = 0; j < size - 1; j++) {
if(words[i] == words[j]) {
++count;
}
}
cout << "The word " << words[i] << " appears " << count << " times." << endl;
}
return 0;
}

最佳答案

您可以检查 size == 0。因此,for 循环中没有任何迭代。

要修复它,您需要将行 vec_sz size = words.size(); 降低几行。

试试这个顺序:

cout << "Sentence: ";
while(cin >> input) {
words.push_back(input);
}

vec_sz size = words.size();

您的 for 循环中的逻辑也存在错误。您需要每次重置 count(只需在内部循环之前添加 count = 0; 以获得正确的结果)。

你可以在这里查看它是如何工作的:http://ideone.com/T2cPcH (count初始化错误)

关于c++ - 不明白为什么 C++ 程序没有输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42639995/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com