100+ câu trắc nghiệm Lập trình nâng cao có đáp án phần 2

Anh (Chị) hãy cho biết kết quả của đoạn lệnh sau là gì? int BinSearch (char*item,char *table[],int n, int (*Sosanh)(const char*,const char*)) { int bot = 0, top = n - 1, mid, cmp; while (bot

17/25

Anh (Chị) hãy cho biết kết quả của đoạn lệnh sau là gì?

int BinSearch (char*item,char *table[],int n, int (*Sosanh)(const char*,const char*))

{ int bot = 0, top = n - 1, mid, cmp;

while (bot < top) { mid = (bot + top) / 2;

if ((cmp = Sosanh(item,table[mid])) == 0) return mid;

else if (cmp < 0) top = mid - 1;

else bot = mid + 1;

}

return -1;

}

int main() { char *cities[] = { “Boston”, “London”, “Sydney”, “Tokyo” };

cout << BinSearch (“Sydney”,cities,4,strcmp) << endl;

}

>>

1

2

true

Chương trình báo lỗi.

Giải thích

Chọn đáp án B