gpt4 book ai didi

c++ - vector 检查不起作用

转载 作者:搜寻专家 更新时间:2023-10-31 00:38:21 26 4
gpt4 key购买 nike

#include <iostream>
#include <vector>
#include <string>
using namespace std;

int main(){
string previous;
string current;

vector<string> dislikes(4);
dislikes [0] = "cat1";
dislikes [1] = "cat2";
dislikes [2] = "cat3";
dislikes [3] = "cat4";

while(cin >> current){

for(int i = 0; i<dislikes.size(); ++i){
if(current==dislikes[i]){
cout << "BLEEP ";}

else if(i=4);
{cout << current << " ";}
};


previous = current;
};
return 0;
};

它只会在 cat1 出现在一个句子中时将其替换为 bleep,而不会在其他句子中出现。我不明白为什么,一直盯着它看了好久。

最佳答案

else if(i=4);

应该是

else if(i==3)

所以这一行出现了三个问题:

  • 使用 = 而不是 === 设置某物的值,因此 i 将设置为 4,这将结束循环。使用 ==比较值。
  • 您要比较的值是3,而不是4,因为 vector 只有4 长,循环索引只会达到4 - 1
  • else 之后的;else 的主体,所以else 实际上什么都不做。

关于c++ - vector 检查不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18287129/

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