<C++> У меня есть вопрос о приведении значения
Это алгоритм, который получает число, цифры этого числа, а затем выводит сумму всех чисел, используемых во входном числе. Проблема заключается в том, что если я использую функцию atoi для замены символа в каждом элементе массива, он изменится на правильное число in (например, '5' -> 54321). Какую ошибку я совершил?
Что я уже пробовал:
#include <iostream> #include <cstdlib> #include <cstring> #include <cmath> #include <iomanip> using namespace std; int main() { int N = 0, sum = 0;//N is the number of digits to input. cin >> N; char * ptr = new char[N + 1]; //The number is input as a string cin >> ptr; for (int i = 0; i < N; i++) { sum += atoi(&ptr[i]); //Each character stored in the array element is converted to a number and added to the variable sum. } cout << sum << endl; return 0; }