Я хочу получить сумму каждого символа строки (например, «1300321» вернет 10) в функции get_line_sum. Однако, похоже, моя сумма не совпадает с тем, что я предполагаю получить.
#include <iostream>
#include <string>
int get_line_sum(std::string x) {
int total = 0;
for (char &c : x) total += c;
return total;
}
int main() {
std::cout << get_line_sum("1300321") << std::endl;
}
c: 1 total: 0
c: 3 total: 49
c: 0 total: 100
c: 0 total: 148
c: 3 total: 196
c: 2 total: 247
c: 1 total: 297
346
Вывод 346 вместо 10. Я напечатал каждый символ и сумму, чтобы было легче увидеть, чтопродолжается.