Для следующей программыОбъяснять выход следующей программы
#include <stdio.h>
# define swap(a,b) temp=a; a=b; b=temp;
int main()
{
int i, j, temp;
i=5;
j=10;
temp=0;
if(i > j)
swap (i, j);
printf ("%d %d %d", i, j, temp);
return 0;
}
Я получаю этот выход, который я тестировал с различными компиляторами:
10 0 0
Я понимаю, что он J было 5 и я был 10 выход был бы заменен. Но в этой конкретной программе оператор if не выполняется. Итак, может кто-то объяснить причину, почему я получаю этот выход?
Было бы лучше, если бы вы просто написали три строки кода на месте. Здесь нет необходимости в макросе. –