Привет всем! Давно с интересом слежу за обсуждениями в данном сообществе. Приверженцем швейцарской школы программирования я стал задолго до того, как познакомился с ней. Это мой первый пост на данном форуме.
## Код:
```
CONST
  s1 = 'q';         (* LEN(s1) приводит к ошибке! *)
  s2 = 'q' + 0X; (* LEN(s2) не приводит к ошибке *)
```

С точки зрения языка обявления констант s1 и s2 равнозначны. Но компилятор в BB, к сожалению, считает иначе. В обоих случаях цепочка длины 1 размещается в статической памяти (для глобальных констант). Но в первом случае выделяется один байт для хранения цепочки, а во втором случае - два байта, так как операция конкатенации неявно добавляет нуль-литеру.
В случае объявления литерной цепочки длины 0, 2 или более, указанная "особенность" не проявляется.