Почему мой код ничего не показывает для ввода 10 5 3. Он работает для всего до 1 до 9, но всякий раз, когда он идет 10 или больше, чем 10, тогда не отображается вывод. Я также пытаюсь использовать atoi() для него, но ошибка в этой строке int x = str [j] - '0'. Пожалуйста, помогите мне.Невозможно преобразовать символ в целое число в C++ в цикле
#include<iostream>
#include<string>
#include<cstdlib>
using namespace std;
int main()
{
int n, sum = 1, num = 0;
string str;
cin >> n;
for(int i = 0; i <= n; i++) {
getline(cin, str);
for(int j = 0; j < str.length(); j++) {
if(str[j] != ' ') {
int x = str[j] - '0'; // Here is the problem even I use atoi() but error
sum *= x;
num = sum;
}
}
if(num != 0) {
cout << num << endl;
num = 0;
sum = 1;
}
}
}
Когда 'x' равно 0, что означает' sum * = x' do? – Barmar
Вы умножаете все цифры. Когда вы умножаетесь на 0, вы получаете 0. – Barmar
что делать вместо этого, чтобы преобразовать символ в целое число в этом случае –