Цитата(Ekka @ Sep 25 2017, 14:21)

Так и не поняла, ПОЧЕМУ 32 ячейка САМОВОЛЬНО после того, как я ввожу в нее число, большее 9, то есть 10, например, вместо string переводит его в char, берет первую цифру и считает, что это символ номер 49.
При отладке вижу, что во все другие ячейки приходит string "10", а в эту char 49 '1'. Что за штука... почему??? Как это исправить?
если коротко и поверхносто, то...
изначально, в компьютерном мире оперировали байтом. и предполагали что этого хватит на все случаи жизни. и поставили в соответствие каждому из 256 его значений некое отображение(символ),
когда речь заходила о кодировке для того или иного формата данных(в частности текста, понятного человеку).
напротив значения 49 (шестнадцатиричное 31h) поставили цифру 1. (числа так и стоят в ряд от 30h до 39h что соответствует от '0' до '9').
дальше-больше... Когда речь зашла об кодировании различных других языков (не англоязычных) то по началу на региональном уровне каждый изгалялся как мог.
Русский например частично располагали выше 128 (80h), частично использовали совпадающее написанию знаков.
Потом усиленно ввелось понимание символа который отображается и собственно самой ячейки под это отведённое. В зависимости от маркетинга и кулика - лидируют в основном
болотца = юникод, мультибайт (ну может ышо парочка)....
Дык вот, возвращаясь к баранам...
То чем Вы оперируете со строкой, ничего не знает о мультибайте(или юникоде). Посему честно записывает, когда требуется более старший разряд, в более левую ячейку. При этом размерность ячеек обычно указывает сам программист.
удачи вам
(круглый)
ЗЫ
А вообще, лучше почитать что нить популярное об локализации, знакогенерации, юникод, мультибайт и иже...