Любой может «объявить» свои собственные операторы в C... то есть, если он является гуру компилятора C и имеет исходный код для компилятора C! ;-)
Дополнительные вопросы для разгадки:
- Как эти операции выполняются в C99? gcc? ...
- И почему были удалены /\&\/?
- Для каких типов допустимы операторы /\ и \/?
Поиск по запросу "/\\/" естественно ничего не дает. В Википедии нет страницы ни с /\, ни с \/. Но я заметил, что подобные операторы встроены в объекты символов XML!
Источник добавлен: я нашел оскорбительный пример в исходном файле PDP "c00.c":
/*
* Return the next symbol from the input.
* peeksym is a pushed-back symbol, peekc is a pushed-back
* character (after peeksym).
* mosflg means that the next symbol, if an identifier,
* is a member of structure or a structure tag or an enum tag
*/
symbol()
{
...
case BSLASH:
if (subseq('/', 0, 1))
return(MAX);
goto unkn;
case DIVIDE:
if (subseq('\\', 0, 1))
return(MIN);
if (subseq('*',1,0))
return(DIVIDE);
...
}
Реальные реализации: Операторы /\ и \/ восходят к Шестое издание Unix 1975 г. (на данный момент). Примеры: Unix V6 (1975 г.), Unix V7 (1979 г.) и более современные версии BSD 2.11 (1992-2008 а>)
AND
иOR
? - person Nick Dandoulakis   schedule 09.10.2009a = b /\ c;
' выглядит правдоподобно, чтобы присвоить a максимум b и c, а 'a = b \/ c;
' - минимум. И в те дни вполне вероятно, что современные операторы «+=
» все еще записывались как «=+
» и на самом деле были двумя токенами, поэтому гипотетический «a =/\ b;
» был бы оператором максимального присваивания и т. д. Заинтриговано! - person Jonathan Leffler   schedule 09.10.2009\/
было MAX, а/\` was
MIN`. Наверное, не то направление, которое я бы выбрал! - person Greg Hewgill   schedule 09.10.2009