| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C++ Builder > Вроде некорректное отображение длины символьных ко |
| Автор: Mastodont 13.11.2009, 08:46 | ||||||
В книге "Язык С++" Подбельского есть код для определения длины внутренних представлений символьных констант.
У меня получается вывод
А у Подбельского
Вроде код правильно написал. Есть ли у меня ошибка? |
| Автор: Platov 13.11.2009, 09:50 |
| Всё правильно оно посчитало! '\\n\\t' - это и есть 4 символа, а вот '\n\t' это уже 2 |
| Автор: Mastodont 16.11.2009, 08:11 | ||
Выходит, у Подбельского опечатка? |
| Автор: Platov 16.11.2009, 13:48 | ||
Пробовал такой код:
получается 2 что соответствует действительности. Возможно опечатка в том что кавычки одинарные. |
| Автор: Mastodont 16.11.2009, 14:20 | ||
А должны быть двойные? |
| Автор: SenkraD 16.11.2009, 14:48 | ||
Mastodont, sizeof('\n\t') == 4
|
| Автор: Platov 16.11.2009, 17:06 |
| SenkraD, /r/n это 2 байта! Это обычные однобайтовые символы. Это можно увидеть в обычном текстовом файле в hex-ах. |
| Автор: SenkraD 16.11.2009, 17:20 | ||
Platov, я сылку с стандарта для кого дал? Вот выделил жирным
|
| Автор: Platov 16.11.2009, 20:37 |
| Мы с SenkraD посоветовались и пришли к выводу что всётаки в книге очепятка в кавычках - нужны двойные. |
| Автор: SenkraD 16.11.2009, 20:49 |
| Я ещё раз перепроверил и прищёл к выводу, что книга писалась либо на компилере, который поддерживал старый стандарт (я его не знаю), либо программы тестировались на машине, где sizeof(int) == 2 |