Можете ли вы помочь мне с коротким кодом, который может напечатать сам?

#define q(k)main(){return!puts(#k"\nq("#k")");}
q(#define q(k)main(){return!puts(#k"\nq("#k")");})

Этот код может печатать сам на экране, однако, у меня есть трудности с его чтением, особенно с тем, что два # K, как это работает? Я знаю, как работает #define q (k) 2 * k, но я действительно понятия не имею, об этом коде. Пожалуйста, помогите мне проанализировать его! спасибо!

Ответы на вопрос(1)

Ваш ответ на вопрос