Я следующий код последовательного поиска отлично работать в Visual C++рекурсивная функция ошибки Dev-C++
#include<iostream>
using namespace std;
int seqSearch(int list[], int length, int item)
{
int index = length-1;
if (index < 0)
return -1;
if (list[index] == item)
return (index);
else seqSearch(list, index, item);
} // end seqSearch
int main()
{
int const length = 10;
int item;
int list[10] = { 2, 3, 4, 5, 20, 40, 80, 45, 99, 0};
cout << "Please enter the value to be searched: ";
cin>> item;
if (seqSearch(list, length, item) == -1) cout << "Item not found." << endl;
else cout <<"Item found at position: " << seqSearch(list, length, item) << " of list *Note: (first index of list start at 0)" << endl;
system("pause");
return 0;
}
Но в Dev-C++ это всегда показывает результат 0, я пытался отладки и увидеть индекс правильно, но почему он отображает 0? Почему у нас есть эта разница между VC++ и Dev-C++?
Рекурсивный последовательный поиск ?? – SuperSaiyan
'else seqSearch (список, индекс, элемент);' ничего не возвращает. Измените его на 'else return seqSearch (list, index, item);'. – Vikas
Скорее всего, это не связано с вашей проблемой, но вы можете захотеть заглянуть в другую среду разработки, кроме Dev-C++, для [причин, перечисленных здесь] (http://stackoverflow.com/tags/dev-c%2b%2b/info) , – Bart