下面代码尝试在有序数组中查找第一个大于等于 x 的元素位置。如果没有大于等于 x 的元素,返回arr.size() 。以下说法正确的是( )。int lower_bound(vector& arr, int x) { int l = 0, r = arr.size(); while(l = x) r = mid; else l = mid + 1; } return l; }
A. 上述代码逻辑正确
B. 上述代码逻辑错误, while 循环条件应该用 l <= r
C. 上述代码逻辑错误, mid 计算错误
D. 上述代码逻辑错误,边界条件不对
正确答案:A
试卷来源:202512 CCF-GESP编程能力等级认证C++五级真题