我有一个愚蠢的错误,但管理没有找到它。第17行我尝试读取两个整数和一个字符串,但是当我输入(或类似):使用cin读取字符串时出错
2 3 (
我一直要求的条目。当我输入(或类似):
2 3 F
顺利读取。难道是“(”特殊字符?
#include <iostream>
using namespace std;
int ocurs(string cad, string subcad) {
int con = -1;
size_t i = 0;
while(i != string::npos) {
i = cad.find(subcad, i);
con++;
}
return con;
}
int main() {
int n, m, con = 0;
string cad, subcad;
cin >> n >> m >> subcad;
//cout << subcad;
for(int i = 0; i < n/2; i++)
cad.push_back('(');
for(int i = 0; i < n/2; i++)
cad.push_back(')');
//cout << cad;
con += ocurs(cad, subcad);
cad.clear();
for(int i = 0; i < n; i++)
if(i % 2 == 0) cad.push_back('(');
else cad.push_back(')');
con += ocurs(cad, subcad);
cout << con;
return 0;
}
我没有看到任何要求输入数据,除第17行外没有任何循环。 – user4581301
听起来像你需要运行一个调试器。 – mindriot