Я наткнулся на следующий код:
#include<stdio.h>
#define d(x) x(#x[3])
int main(){
d(putchar);
}
Что печатает c
как вывод. Интересно, что делает макрос #define d(x) x(#x[3])
? На языке C есть оператор вроде #
? Я могу видеть это внутри тела макроса i.e здесь x(#x[3])
. По моему нормальному глазу он выглядит чем-то другим, я вижу на языке С, но на самом деле. Что это делает?
Изменить: Каково реальное использование #
в реальном мире?
Я новичок в C, и будет хорошо, если объяснение будет простым. Заранее спасибо.