0
我正在寫的程序的zoj 1733,問題是在第8行:「錯誤:下標值是不是一個數組,指針,或載體」和我使用一個字符串
else if(x[i] == y[j])return f(i-1,j-1)+1;
爲什麼我不能使用「x [i]」而x是一個字符串?我不明白提示「下標值不是數組,指針或向量」。後續是我的代碼:
#include <iostream>
using namespace std;
string x,y;
int f(int i,int j){
int x,y;
if(i==0 || j==0)return 0;
else if(x[i] == y[j])return f(i-1,j-1)+1;
else {
x=f(i-1,j);
y=f(i,j-1);
if(x>y)return x;
else return y;
}
}
int main(int argc, char *argv[]) {
int i,j;
while(cin>>x>>y){
i=x.size();j=y.size();
cout<<f(i,j)<<endl;
}
return 0;
}
是的,它工作正常,謝謝! –