когда вы используете макрос, вы говорите препроцессору заменить идентификатор (в вашем случае a, b, c) на выражение, следующее за макросом.
Таким образом, эта последовательность определяет, сообщаетпрепроцессор для замены содержимого a на b, замены содержимого b на c и замены содержимого c на d.
, поэтому вы получите то же значение, которое печатается для времен
main()
{
int d = 192;
printf("%d\n", d);
printf("%d\n", d);
printf("%d\n", d);
printf("%d\n", d);
}