
Ayuda la comprensión de una macro
Publicado por Diego (150 intervenciones) el 17/04/2014 21:59:59
Buenas tardes acabo de crear un programa, y nos pidieron que en invocasemos a las macros con un posincremestro(si no me equivoco se llama así).
Este es el programa con el pos incremento incluido:
No sé si estaré en lo correcto, pero ¿la macro min le llega a++ y quedaría así?:
min (a++, b++) ((a++ >b++)? b++: a++) de ser así quisiera saber cuando se hace el incremento ya que habria dos uno en la comparación y otro más sugún corresponda.
Aunque no creo que la macro min quede min(a++, b++) más bien creo que queda igual: min (a, b) y que luego de la comparación incrementa en la desición que haya tomado.
En definitiva la forma en la que se comporta la macro con el pos incremento me dejo mareado tratando de ver como funciona.
Les agradezco por su tiempo.
Este es el programa con el pos incremento incluido:
1
2
3
4
5
6
7
8
9
10
11
12
13
#define min(a,b) ((a > b)? b : a)
#define max(a,b) ((a > b)? a : b)
#include <stdio.h>
int main()
{
int a, b, res;
scanf("%d %d", &a, &b);
res = min(a++, b++);
printf("El minimo es: %d , a: %d y b: %d \n", res, a, b);
res = max(a++, b++);
printf("El maximo es: %d , a: %d y b: %d \n", res, a, b);
return 0;
}
No sé si estaré en lo correcto, pero ¿la macro min le llega a++ y quedaría así?:
min (a++, b++) ((a++ >b++)? b++: a++) de ser así quisiera saber cuando se hace el incremento ya que habria dos uno en la comparación y otro más sugún corresponda.
Aunque no creo que la macro min quede min(a++, b++) más bien creo que queda igual: min (a, b) y que luego de la comparación incrementa en la desición que haya tomado.
En definitiva la forma en la que se comporta la macro con el pos incremento me dejo mareado tratando de ver como funciona.
Les agradezco por su tiempo.
Valora esta pregunta


0