Because macros are not functions, the preprocessor just replaces the text. After the macro substitution, your program turns into:
//code in stdio.h
int main(void)
{
int a=1,b=4;
{int t=A;A=B;B=t;}
printf("%d\t%d\n",a,b);
return 0;
}
See? There's no function calls in the swapping.