Código
#define swap(t,x,y) { t _z; \ _z=y; \ y=x; \ x=_z; }
según el programa el parámetro t debe ser el nombre de un tipo (int, char o float)que sea del mismo tipo que los parametros x e y para así poder declarar la variable _z del mismo tipo.
mis dudas:
Para que sirve la barra '\' después del punto y coma.
la otra duda que tengo es si los parametros de swap pasan por valor como en cualquier funcion de c.
y la ultima duda, la macros reemplaza un texto de la forma
Código
por todo lo qu esta adentro de las llaves {} incluyendo las llaves o las llaves no las reemplaza. si remplaza con las llaves no debería dar error.
main(){ swap(t,x,y); }
Código
main(){ { t _z; \ _z=y; \ y=x; \ x=_z; } }