小位想找出最高分同学坐在几号位(下标)。运行下面的程序:
vector<int> a = {70, 95, 88};
int idx = max_element(a.begin(), a.end()) - a.begin();
cout << idx;
关于这段程序,下面哪个说法正确?( )
- A. max_element 返回的就是最大值 95 本身,能直接赋给 int 变量
- B. 两个迭代器不能相减,这段程序编译不通过
- C. 程序输出 1,迭代器相减得到的正是最大值所在的下标
- D. 求最大值下标必须手写循环逐个比较,没有现成办法