- tt白
-
#include <iostream>
using namespace std;
int find (int);
int a[10];//全局变量,才能在find函数中使用。
int main()
{
int j,i,x;
cout<<"请按非递减次序输入元素"<<endl;
for(i=0;i<=9;i++)
cin>>a[i];
cout<<"请出入要查找的元素的值"<<endl;
cin>>x;
j=find (x);
cout<<j<<endl;
return 0;
}
int find (int b)
{
int low,high,mid,d;
low=0;
high=9;
while(low<high)
{
mid=((low+high)/2);
if(b<a[mid])
high=mid-1;
else if(b>a[mid])
low=mid+1;
else d=mid;break;
}
return d;
}
- 北有云溪
-
在某个函数里面声明的变量是不能在其他函数里面引用的,所以编译器就不认识了.如果有那个变量要好几个函数引用的话,可以考虑将其声明为全局变量.当然,你也可以在函数中加一个参数将变量的引用传过去
- 里论外几
-
因为数组a是定义在main函数里的局部变量,在find函数里看不到这个变量。
如果想在find函数里使用a数组,就要把a定义在main的外面(前面)。