改错题(20分) 【题目】 以下程序的功能是:判断一个已排序的整型数组中是否存在元素值与其下标值相等(下标从0开始)的元素。如果存在,则输出其中一个该类元素的值(可能存在多个满足条件的元素)正确程序的输出如下:第3个元素值与其下标值相等含有错误的源程序如下: #include int index_search(int x[n],int n) {int first=0;int last=n-1;int middle,index;index=-1;while(first<=last){ middle=(first+last)/2; if(x[middle]=middle){ index=middle; break; } else if(x[middle]>middle)last=middle-1; elsefirst=middle+1; } return index; } void main() {int a[]={-1,0,1,3,8};int result=index_search(a,sizeof(a));if(result==-1) cout<<"第"<