标识符' n'未定义

时间:2017-04-18 06:24:46

标签: c++

这是我的代码

#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;:未声明的标识符

请任何人向我提出建议。提前谢谢。

3 个答案:

答案 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 是唯一未声明但使用的变量。