Для ввода 1234 выход равен 134.Что происходит здесь? Когда я печатаю [1], в этом случае он ничего не печатает.Что происходит, когда 0 вычитается
#include <iostream>
using namespace std;
int main() {
char a[100];
cin >> a;
a[1] = a[1] - '0';
cout << a;
return 0;
}
Это не имеет никакого отношения к вычитанию ** значений ASCII **. C и C++ требуют, чтобы коды для ''0' .. '9'' были непрерывными и увеличивались, поэтому' ch -' 0'' дает значение, представленное любой цифрой ''0' .. '9'', ** независимо от кодировки символов, которая используется **. ''2' - '0'' ** всегда ** 2. –