问题 问答题

改错题(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<<"第"<

答案

参考答案:

int index_search(int x[n],int n)    改为int x[]或int *x    if(x[middle]=middle){               改为x[middle]==middle    int result=index_search(a,sizeof(a));    改为sizeof(a)/sizeof(int)或E    if(result==-A)            改为result!=-A或result>=0或result

多项选择题
多项选择题