![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
Andrew Selivanov |
![]() ![]()
Сообщение
#1
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 249 Регистрация: 9.10.2007 Из: Москва Пользователь №: 3 Спасибо сказали: 15 раз(а) Репутация: ![]() ![]() ![]() |
Триграфы (trigraphs) это последовательности из трех символов ( из них два первых символа это знаки вопроса ) которые компилятор заменяет на соответствующие символы.
??= # ??( [ ??/ \ ??) ] ??’ ^ ??< { ??! | ??> } ??- ~ Например результат выполнения следующего кода может быть не совсем таким, как ожидалось (в зависимости от компилятора): printf( "Hello world??!\n" ); на консоли: Hello world| Для того, чтобы все стало хорошо код нужно подправить следующим образом: printf( "Hello world?\?!\n" ); И для сомневающихся предлагается такая программка (все собирается и работает): ??=include <iostream> using namespace std; int main() ??< cout << "??/nHello World??/n" << endl; return 0; ??> По умолчанию триграфы отключены в GCC, параметр для включения: -ansi -trigraph Andrew Selivanov (at) gmail.com для crossplatform.ru |
|
|
![]() |
Litkevich Yuriy |
![]()
Сообщение
#2
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
А ведь важное замечание у deninok, в голову бы не пришло, хотя про триграфы читал, еще у Ричи.
|
|
|
![]() ![]() ![]() |
![]() |
Текстовая версия | Сейчас: 12.3.2025, 0:08 |