Я просто просматривал определенный код, который часто спрашивают в интервью. У меня возникли определенные вопросы, может ли кто-нибудь помочь мне в этом?
Я сейчас совершенно запутался,
#include <stdio.h>
#include <conio.h>
#define square(x) x*x
main()
{
int i, j;
i = 4/square(4);
j = 64/square(4);
printf("\n %d", i);
printf("\n %d", j);
printf("\n %d", square(4));
getch();
}
Вывод:
4
64
16
Мне интересно, почему square(4)
вернул 1, когда я его разделил? Я имею в виду, как я могу получить значения 4 и 64 , когда я делю его, но при непосредственном использовании я получаю 16 !!?