感谢空梦大佬让我学到新知识
for (auto& i : a) cin >> i;
cin >> b;
int result = 0;
for (auto i : a) {
if (b - i >= 0) {
b -= i;
result += i;
} else break;
}
第一个auto 加了取址符,则可以通过 变量 i 来改变数组中的值,i 也就相当与 a[i]
第二个auto 没有加取址符,则变量 i 仅仅是遍历 a 中元素,并不会改变 数组 a 中的值。