Страницы

Поиск по вопросам

среда, 26 февраля 2020 г.

Как лучше задавать число пробелов в табе - в виде значения переменной или в виде именованной константы?

#c #текст #форматирование #задачи


Книга Язык программирования Си. Денис Ритчи упражнение 1.20:


  Напишите программу detab, заменяющую символы табуляции во вводимом
  тексте нужным числом пробелов (до следующего "стопа" табуляции).
  Предполагается, что "стопы" табуляции расставлены на фиксированном
  расстоянии друг от друга, скажем, через n позиций. Как лучше задавать
  n - в виде значения переменной или в виде именованной константы?


Вопрос: Правильно ли я понял задание?

В Википедии сказано, что табуляция это 8 знакомест. Как бы табуляция это константное
число знакомест. Или я чего-то не понимаю?

Я задание понял так: если введена табуляция, заменить ее на 8 пробелов. И мне не
понятно, зачем в задании указывать на каком расстоянии друг от друга стопы табуляции?

И что такое "стопы" табуляции? Стоп и символ табуляции это одно и то же?

Я смотрел другие решения в интернете, у других людей, почему-то, количество пробелов
заменяемых на табуляцию, в разных вводимых строках - разное...
    


Ответы

Ответ 1



Нет, вы неверно понимаете, что такое табуляция. Но проще пояснить на примере. Вот, например, имеем: Это текст с пробелами И еще один текст Все они выровнены Вы предлагаете: Это текст с пробелами И еще один текст Все они выровнены Правильно: 0 0 1 2 0 8 6 4 Это текст с пробелами И еще один текст Все они выровнены Так понятно? Табулятор вносит столько пробелов, чтоб новое слово шло с очередной позиции табуляции, в данном случае - кратной 8 (что не обязательно, и вряд ли в Википедии сказано, что это строго 8. Скорее что-то вроде "распространенное значение - 8").

Комментариев нет:

Отправить комментарий