0
我正在使用C++
實現simple_search_text。該程序運行良好的大多數輸入,但是當我使兩個strings
相同時,輸出顯示任何內容並正常返回。這可能是一個錯誤,但我無法找到它。我試着遵循算法的控制流程,但仍然沒有成功。我已經在下面給出了實施。simple_search_text的實現
#include<iostream>
#include<cstring>
using namespace std;
int simple_text_search(const char* p, const char* q);
int main(){
if(int i = simple_text_search("ell", "ell")) //strings are not from standard input
cout << "Found at " << i;
return 0;
}
int simple_text_search(const char* p, const char* q){
int m = strlen(p);
int n = strlen(q);
int i = 0;
while(i + m <= n) {
int j = 0;
while(q[i + j] == p[j]){
j = j + 1;
if(j == m)
return i;
}
i = i + 1;
}
return -1;
}
它打印:'在1'用於上述'input'實測值。 – 2013-02-21 05:11:56
請看鏈接,'找到0' – 2013-02-21 05:13:09
是的'主'部分有一個小錯誤。謝謝。 – 2013-02-21 05:15:17