Помощь - Поиск - Пользователи - Календарь
Полная версия: Вопрос по типам данных
Форум «Всё о Паскале» > Pascal, Object Pascal > Теоретические вопросы
mapblwka
Великий вопрос моей жизни, ПОЧЕМУ
Для каждого из приведенных выражений языка Паскаль укажите его значение (если выражение ошибочно, укажите в ответе слово «ошибка»)
..
'Q'<>Q

ЧТО ЭТО ЗНАЧИТ??

если в паскаль загнать простенькую прогу:

var Q:char
begin
write('Q'<>Q);
end.

То на экран покажеться TRUE но почему? я не могу объяснить преподавателю. Ваши версии ответа??? Чему равна CHARовская переменная по умолчанию? например числовая равна НУЛЮ, а чаровскач? ОТВЕТЬ МНЕ! Для меня это уже вопрос жизни и смерти! mega_chok.gif
volvo
var Q:char; { описываешь переменную типа Char }
begin
write('Q'<>Q); { сравниваешь ту, описанную ранее переменную с "Q" }
end.


Обычно, компилятор Паскаля инициализирует переменные типа Char значением #0, поэтому при попытке узнать является ли значение переменной Q не равным "Q" (символу с кодом 81), будет выдана "Истина", потому что #0 <> #81
mapblwka
а что за символ #0 ? или это не существующий символ?
volvo
Почему же несуществующий? Еще как существующий... #0 он же Chr(0), символ с кодом 0 в таблице Ascii. Только проблема с том, что символы с кодами от 0 до 31 являются управляющими, и соответственно НЕ выводятся на печать.
Romtek
Q - это просто переменная и её можно назвать по-другому, например, P.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.