在上述问题中,为使程序正常运行而需要对其进行的更正是(GATE CS 2008)
(A)将第6行更改为:如果(Y [k]
(D)将第7行更改为:} while((Y [k] == x)&&(i
说明:下面是更正的函数
f(int Y[10], int x) {
int i, j, k;
i = 0; j = 9;
do {
k = (i + j) /2;
if( Y[k] < x) i = k + 1; else j = k - 1;
} while(Y[k] != x && i < j);
if(Y[k] == x) printf ("x is in the array ") ;
else printf (" x is not in the array ") ;
}
参考:http://en.wikipedia.org/wiki/Binary_search_algorithm#Implementations
这个问题的测验