Следующий вопрос был задан в конкурсе по программированию в колледже. Нам было предложено угадать результат и/или объяснить его работу. Излишне говорить, что никто из нас не преуспел.
main(_){write(read(0,&_,1)&&main());}
Несколько коротких Googling привели меня к этому точному вопросу, заданному в codegolf.stackexchange.com
:
https://codegolf.stackexchange.com/a/1336/4085
Там объясняется, что он делает: Reverse stdin and place on stdout
, но не так.
Я также нашел некоторую помощь в этом вопросе: Три аргумента в основном и другие обфускационные трюки
но он все еще не объясняет, как работают main(_)
, &_
и &&main()
.
Мой вопрос: как эти синтаксисы работают? Являются ли они чем-то, о чем я должен знать, так как они все еще актуальны?
Я был бы признателен за любые указатели (ссылки на ресурсы и т.д.), если не прямые ответы.