这是我的代码
#include "stdafx.h"
#include <iostream>
using namespace std;
int main()
{
int array[100], beg, mid, end, i, num;
cout << "Enter the value of an array" << endl;
cin >> n;
cout << "Enter the values in sorted order (asc or desc)" << endl;
for (i = 0; i < n; i++)
{
cin >> array[i];
}
beg = 0;
end = n - 1;
cout << "Enter the value to searched in an array" << endl;
cin >> num;
while (beg <= end)
{
mid = (beg + end) / 2;
if (array[mid] == num)
{
cout << "Item found at this position" << (mid + 1);
exit(0);
}
else if (num > array[mid])
{
beg = mid + 1;
}
else if (num < array[mid])
end = mid - 1;
}
cout << "Number not found." << endl;
return 0;
}
我无法找到我的错误。 它始终显示
标识符&#39; n&#39;未定义 &#39; n&#39;:未声明的标识符
请任何人向我提出建议。提前谢谢。
答案 0 :(得分:0)
错误引发因为您在声明之前使用变量 n 。所以首先声明变量n
和其他mid,num,i
等
按如下方式更改您的声明行
int array[100], beg, mid, end, i, num ,n; // declare n here before using
cout << "Enter the value of an array" << endl;
cin >> n;
答案 1 :(得分:0)
将n
声明为int
并且你很高兴(仅针对此错误):
int array[100], beg, mid, end, i, num, n;
答案 2 :(得分:0)
一开始你必须声明变量:
int array[100], beg, mid, end, i, num, n;
N 是唯一未声明但使用的变量。