|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
27.07.2009, 12:40 | #31 |
Участник клуба
Регистрация: 15.07.2008
Сообщений: 1,933
|
Внутри переменной char в данный момент хранится 1000 0010. Как интерпретировать его(-126, или 130) зависит от вызываемой ф-ции. Ф-ция вывода символа воспринимает его как беззнаковый, дабы вывести необходимый символ из аски-таблицы.
|
27.07.2009, 12:45 | #32 |
Пользователь
Регистрация: 17.07.2009
Сообщений: 91
|
спасибо теперь понял
а если я допусти пишу так mas[s1[i]]=mas[s1[i]]+1; т.е увеличиваю значение элемента массива соответсвующего данному символу тогда он попытается увеличить mas[-126] которого нет? |
27.07.2009, 12:56 | #33 |
Участник клуба
Регистрация: 15.07.2008
Сообщений: 1,933
|
Честно говоря не понял Ваш вопрос... индексом массива может выступать только беззнаковые числа, соответственно все они именно так и интерпретируются
|
27.07.2009, 13:07 | #34 |
Пользователь
Регистрация: 17.07.2009
Сообщений: 91
|
вот смотрите в массиве mas хранятся частоты использования символов
при встрече очередного символа я добавляю единицу к частоте этого символа mas[s1[i]]=mas[s1[i]]+1;(s1-массив символов.i-параметр цикла) но почему то при работе с русскими буквами он неправильно интерепретирует s1[i] а если добавить вот такую заплатку int k=s1[i]; if(k<0) k=k+256; тогда правильно выводит почему без заплатки работает неверно |
27.07.2009, 13:37 | #35 |
Участник клуба
Регистрация: 15.07.2008
Сообщений: 1,933
|
Так, всё, разобрался. Я ошибался, массив может иметь отрицательный индекс Этот пример наглядно иллюстрирует, что именно происходит:
Код:
Код:
|
27.07.2009, 13:56 | #36 |
Пользователь
Регистрация: 17.07.2009
Сообщений: 91
|
т.е. массив может быть с отрицательными индексами и когда видит mas[s1[i]] он s1[i] интерпретирует как число со знаком
|
27.07.2009, 14:11 | #37 |
Участник клуба
Регистрация: 15.07.2008
Сообщений: 1,933
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Кто поможет оптимизировать прогу, а то я уже оптимизировал как мог :) | Droid | Помощь студентам | 7 | 12.05.2008 20:56 |
Находжение разницы годов в SQL запросе | Yurk@ | БД в Delphi | 13 | 01.03.2008 09:32 |
как сделать что бы пользователь мог изменять пароль и вводить свой? | Илюха | Общие вопросы Delphi | 13 | 05.10.2007 14:58 |
не могу понять... | Dutchman | Паскаль, Turbo Pascal, PascalABC.NET | 4 | 14.12.2006 07:14 |