Для следующего кода я получаю выходные данные как Geeks.Вывод следующих макросов кода в c
#include <stdio.h>
#define ISEQUAL(X, Y) X == Y
int main()
{
#if ISEQUAL(X, 0)
printf("Geeks");
#else
printf("Quiz");
#endif
return 0;
}
Объясните причину такого выхода.
Примечание: вы должны ** всегда ** вставлять макрокоманды в тело. В противном случае вы можете получить неправильные результаты из-за превышения _operator_. Их часто довольно сложно найти. – Olaf