对不起,如果重复,因为我在此页面上找不到相同的问题。
我试图弄清楚一个字符串是否包含某些特定单词(例如“ not”)。如果包含,则它将返回真,否则将返回假。然后,我正在检查它的测试用例数量。
此函数将返回字符串是否包含“ not”。
bool ans(string s){
if(s.length()==0){
return false;
}
if(s[0]==' ' && s[1]=='n' && s[2]=='o' && s[3]=='t' && (s[4]==' ' ||
s[4]=='\0')){
return true;
}
return ans(s.substr(1,s.length()-1));
}
主要功能(其中t是测试用例的数量,s是字符串。)
int main(){
int t;
cin>>t;
while(t--){
string s;
getline(cin,s);
if(s[0]=='n' && s[1]=='o' && s[2]=='t' && (s[3]==' ' || s[3]=='\0')){
cout<<"true"<<endl;
continue;
}
if(ans(s)){
cout<<"true"<<endl;
}else{
cout<<"false"<<endl;
}
}
}
但是,每当我输入测试用例数时运行它,它就输出false甚至不输入任何字符串输入。我无法弄清楚为什么getline函数不能正确执行。